1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-18918 SQL mode EMPTY_STRING_IS_NULL breaks RBR upon CREATE TABLE .. SELECT

The 10.5 version of the patch.

Removing DEFAULT from INFORMATION_SCHEMA columns.
DEFAULT in read-only tables is rather meaningless.
Upgrade should go smoothly.

Also fixes:
 MDEV-20254 Problems with EMPTY_STRING_IS_NULL and I_S tables
This commit is contained in:
Alexander Barkov
2021-12-28 17:43:40 +04:00
parent e4b302e436
commit 62e320c86d
82 changed files with 2374 additions and 2319 deletions

View File

@ -1071,58 +1071,58 @@ create table t1 like information_schema.processlist;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`ID` bigint(4) NOT NULL DEFAULT 0,
`USER` varchar(128) NOT NULL DEFAULT '',
`HOST` varchar(64) NOT NULL DEFAULT '',
`DB` varchar(64) DEFAULT NULL,
`COMMAND` varchar(16) NOT NULL DEFAULT '',
`TIME` int(7) NOT NULL DEFAULT 0,
`STATE` varchar(64) DEFAULT NULL,
`INFO` longtext DEFAULT NULL,
`TIME_MS` decimal(22,3) NOT NULL DEFAULT 0.000,
`STAGE` tinyint(2) NOT NULL DEFAULT 0,
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT 0,
`PROGRESS` decimal(7,3) NOT NULL DEFAULT 0.000,
`MEMORY_USED` bigint(7) NOT NULL DEFAULT 0,
`MAX_MEMORY_USED` bigint(7) NOT NULL DEFAULT 0,
`EXAMINED_ROWS` int(7) NOT NULL DEFAULT 0,
`QUERY_ID` bigint(4) NOT NULL DEFAULT 0,
`INFO_BINARY` blob DEFAULT NULL,
`TID` bigint(4) NOT NULL DEFAULT 0
`ID` bigint(4) NOT NULL,
`USER` varchar(128) NOT NULL,
`HOST` varchar(64) NOT NULL,
`DB` varchar(64),
`COMMAND` varchar(16) NOT NULL,
`TIME` int(7) NOT NULL,
`STATE` varchar(64),
`INFO` longtext,
`TIME_MS` decimal(22,3) NOT NULL,
`STAGE` tinyint(2) NOT NULL,
`MAX_STAGE` tinyint(2) NOT NULL,
`PROGRESS` decimal(7,3) NOT NULL,
`MEMORY_USED` bigint(7) NOT NULL,
`MAX_MEMORY_USED` bigint(7) NOT NULL,
`EXAMINED_ROWS` int(7) NOT NULL,
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
) DEFAULT CHARSET=utf8
drop table t1;
create temporary table t1 like information_schema.processlist;
show create table t1;
Table Create Table
t1 CREATE TEMPORARY TABLE `t1` (
`ID` bigint(4) NOT NULL DEFAULT 0,
`USER` varchar(128) NOT NULL DEFAULT '',
`HOST` varchar(64) NOT NULL DEFAULT '',
`DB` varchar(64) DEFAULT NULL,
`COMMAND` varchar(16) NOT NULL DEFAULT '',
`TIME` int(7) NOT NULL DEFAULT 0,
`STATE` varchar(64) DEFAULT NULL,
`INFO` longtext DEFAULT NULL,
`TIME_MS` decimal(22,3) NOT NULL DEFAULT 0.000,
`STAGE` tinyint(2) NOT NULL DEFAULT 0,
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT 0,
`PROGRESS` decimal(7,3) NOT NULL DEFAULT 0.000,
`MEMORY_USED` bigint(7) NOT NULL DEFAULT 0,
`MAX_MEMORY_USED` bigint(7) NOT NULL DEFAULT 0,
`EXAMINED_ROWS` int(7) NOT NULL DEFAULT 0,
`QUERY_ID` bigint(4) NOT NULL DEFAULT 0,
`INFO_BINARY` blob DEFAULT NULL,
`TID` bigint(4) NOT NULL DEFAULT 0
`ID` bigint(4) NOT NULL,
`USER` varchar(128) NOT NULL,
`HOST` varchar(64) NOT NULL,
`DB` varchar(64),
`COMMAND` varchar(16) NOT NULL,
`TIME` int(7) NOT NULL,
`STATE` varchar(64),
`INFO` longtext,
`TIME_MS` decimal(22,3) NOT NULL,
`STAGE` tinyint(2) NOT NULL,
`MAX_STAGE` tinyint(2) NOT NULL,
`PROGRESS` decimal(7,3) NOT NULL,
`MEMORY_USED` bigint(7) NOT NULL,
`MAX_MEMORY_USED` bigint(7) NOT NULL,
`EXAMINED_ROWS` int(7) NOT NULL,
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
) DEFAULT CHARSET=utf8
drop table t1;
create table t1 like information_schema.character_sets;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '',
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '',
`DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
`MAXLEN` bigint(3) NOT NULL DEFAULT 0
`CHARACTER_SET_NAME` varchar(32) NOT NULL,
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8
drop table t1;