1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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

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 466d81709b
commit da37bfd8d6
46 changed files with 2063 additions and 1967 deletions

View File

@ -28,10 +28,10 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.TABLES;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
TABLE_TYPE varchar(64) NO
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
TABLE_TYPE varchar(64) NO NULL
ENGINE varchar(64) YES NULL
VERSION bigint(21) unsigned YES NULL
ROW_FORMAT varchar(10) YES NULL
@ -48,42 +48,42 @@ CHECK_TIME datetime YES NULL
TABLE_COLLATION varchar(32) YES NULL
CHECKSUM bigint(21) unsigned YES NULL
CREATE_OPTIONS varchar(2048) YES NULL
TABLE_COMMENT varchar(2048) NO
TABLE_COMMENT varchar(2048) NO NULL
MAX_INDEX_LENGTH bigint(21) unsigned YES NULL
TEMPORARY varchar(1) YES NULL
SHOW CREATE TABLE information_schema.TABLES;
Table Create Table
TABLES CREATE TEMPORARY TABLE `TABLES` (
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
`TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
`ENGINE` varchar(64) DEFAULT NULL,
`VERSION` bigint(21) unsigned DEFAULT NULL,
`ROW_FORMAT` varchar(10) DEFAULT NULL,
`TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
`AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
`DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
`MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
`INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
`DATA_FREE` bigint(21) unsigned DEFAULT NULL,
`AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
`CREATE_TIME` datetime DEFAULT NULL,
`UPDATE_TIME` datetime DEFAULT NULL,
`CHECK_TIME` datetime DEFAULT NULL,
`TABLE_COLLATION` varchar(32) DEFAULT NULL,
`CHECKSUM` bigint(21) unsigned DEFAULT NULL,
`CREATE_OPTIONS` varchar(2048) DEFAULT NULL,
`TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT '',
`MAX_INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
`TEMPORARY` varchar(1) DEFAULT NULL
`TABLE_CATALOG` varchar(512) NOT NULL,
`TABLE_SCHEMA` varchar(64) NOT NULL,
`TABLE_NAME` varchar(64) NOT NULL,
`TABLE_TYPE` varchar(64) NOT NULL,
`ENGINE` varchar(64),
`VERSION` bigint(21) unsigned,
`ROW_FORMAT` varchar(10),
`TABLE_ROWS` bigint(21) unsigned,
`AVG_ROW_LENGTH` bigint(21) unsigned,
`DATA_LENGTH` bigint(21) unsigned,
`MAX_DATA_LENGTH` bigint(21) unsigned,
`INDEX_LENGTH` bigint(21) unsigned,
`DATA_FREE` bigint(21) unsigned,
`AUTO_INCREMENT` bigint(21) unsigned,
`CREATE_TIME` datetime,
`UPDATE_TIME` datetime,
`CHECK_TIME` datetime,
`TABLE_COLLATION` varchar(32),
`CHECKSUM` bigint(21) unsigned,
`CREATE_OPTIONS` varchar(2048),
`TABLE_COMMENT` varchar(2048) NOT NULL,
`MAX_INDEX_LENGTH` bigint(21) unsigned,
`TEMPORARY` varchar(1)
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.TABLES;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
TABLE_TYPE varchar(64) NO
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
TABLE_TYPE varchar(64) NO NULL
ENGINE varchar(64) YES NULL
VERSION bigint(21) unsigned YES NULL
ROW_FORMAT varchar(10) YES NULL
@ -100,7 +100,7 @@ CHECK_TIME datetime YES NULL
TABLE_COLLATION varchar(32) YES NULL
CHECKSUM bigint(21) unsigned YES NULL
CREATE_OPTIONS varchar(2048) YES NULL
TABLE_COMMENT varchar(2048) NO
TABLE_COMMENT varchar(2048) NO NULL
MAX_INDEX_LENGTH bigint(21) unsigned YES NULL
TEMPORARY varchar(1) YES NULL
SELECT table_catalog, table_schema, table_name