1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +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

@ -30,78 +30,78 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.TRIGGERS;
Field Type Null Key Default Extra
TRIGGER_CATALOG varchar(512) NO
TRIGGER_SCHEMA varchar(64) NO
TRIGGER_NAME varchar(64) NO
EVENT_MANIPULATION varchar(6) NO
EVENT_OBJECT_CATALOG varchar(512) NO
EVENT_OBJECT_SCHEMA varchar(64) NO
EVENT_OBJECT_TABLE varchar(64) NO
ACTION_ORDER bigint(4) NO 0
TRIGGER_CATALOG varchar(512) NO NULL
TRIGGER_SCHEMA varchar(64) NO NULL
TRIGGER_NAME varchar(64) NO NULL
EVENT_MANIPULATION varchar(6) NO NULL
EVENT_OBJECT_CATALOG varchar(512) NO NULL
EVENT_OBJECT_SCHEMA varchar(64) NO NULL
EVENT_OBJECT_TABLE varchar(64) NO NULL
ACTION_ORDER bigint(4) NO NULL
ACTION_CONDITION longtext YES NULL
ACTION_STATEMENT longtext NO
ACTION_ORIENTATION varchar(9) NO
ACTION_TIMING varchar(6) NO
ACTION_STATEMENT longtext NO NULL
ACTION_ORIENTATION varchar(9) NO NULL
ACTION_TIMING varchar(6) NO NULL
ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
ACTION_REFERENCE_OLD_ROW varchar(3) NO
ACTION_REFERENCE_NEW_ROW varchar(3) NO
ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO
DEFINER varchar(189) NO
CHARACTER_SET_CLIENT varchar(32) NO
COLLATION_CONNECTION varchar(32) NO
DATABASE_COLLATION varchar(32) NO
SQL_MODE varchar(8192) NO NULL
DEFINER varchar(189) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
SHOW CREATE TABLE information_schema.TRIGGERS;
Table Create Table
TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
`TRIGGER_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
`EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
`EVENT_OBJECT_CATALOG` varchar(512) NOT NULL DEFAULT '',
`EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
`ACTION_ORDER` bigint(4) NOT NULL DEFAULT 0,
`ACTION_CONDITION` longtext DEFAULT NULL,
`ACTION_STATEMENT` longtext NOT NULL DEFAULT '',
`ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
`ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
`ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
`ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
`ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
`ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
`CREATED` datetime(2) DEFAULT NULL,
`SQL_MODE` varchar(8192) NOT NULL DEFAULT '',
`DEFINER` varchar(189) NOT NULL DEFAULT '',
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
`COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
`DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
`TRIGGER_CATALOG` varchar(512) NOT NULL,
`TRIGGER_SCHEMA` varchar(64) NOT NULL,
`TRIGGER_NAME` varchar(64) NOT NULL,
`EVENT_MANIPULATION` varchar(6) NOT NULL,
`EVENT_OBJECT_CATALOG` varchar(512) NOT NULL,
`EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL,
`EVENT_OBJECT_TABLE` varchar(64) NOT NULL,
`ACTION_ORDER` bigint(4) NOT NULL,
`ACTION_CONDITION` longtext,
`ACTION_STATEMENT` longtext NOT NULL,
`ACTION_ORIENTATION` varchar(9) NOT NULL,
`ACTION_TIMING` varchar(6) NOT NULL,
`ACTION_REFERENCE_OLD_TABLE` varchar(64),
`ACTION_REFERENCE_NEW_TABLE` varchar(64),
`ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL,
`ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL,
`CREATED` datetime(2),
`SQL_MODE` varchar(8192) NOT NULL,
`DEFINER` varchar(189) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
) DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.TRIGGERS;
Field Type Null Key Default Extra
TRIGGER_CATALOG varchar(512) NO
TRIGGER_SCHEMA varchar(64) NO
TRIGGER_NAME varchar(64) NO
EVENT_MANIPULATION varchar(6) NO
EVENT_OBJECT_CATALOG varchar(512) NO
EVENT_OBJECT_SCHEMA varchar(64) NO
EVENT_OBJECT_TABLE varchar(64) NO
ACTION_ORDER bigint(4) NO 0
TRIGGER_CATALOG varchar(512) NO NULL
TRIGGER_SCHEMA varchar(64) NO NULL
TRIGGER_NAME varchar(64) NO NULL
EVENT_MANIPULATION varchar(6) NO NULL
EVENT_OBJECT_CATALOG varchar(512) NO NULL
EVENT_OBJECT_SCHEMA varchar(64) NO NULL
EVENT_OBJECT_TABLE varchar(64) NO NULL
ACTION_ORDER bigint(4) NO NULL
ACTION_CONDITION longtext YES NULL
ACTION_STATEMENT longtext NO
ACTION_ORIENTATION varchar(9) NO
ACTION_TIMING varchar(6) NO
ACTION_STATEMENT longtext NO NULL
ACTION_ORIENTATION varchar(9) NO NULL
ACTION_TIMING varchar(6) NO NULL
ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
ACTION_REFERENCE_OLD_ROW varchar(3) NO
ACTION_REFERENCE_NEW_ROW varchar(3) NO
ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO
DEFINER varchar(189) NO
CHARACTER_SET_CLIENT varchar(32) NO
COLLATION_CONNECTION varchar(32) NO
DATABASE_COLLATION varchar(32) NO
SQL_MODE varchar(8192) NO NULL
DEFINER varchar(189) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
SELECT * FROM information_schema.triggers
WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL
OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL