Commit 45deeca2 authored by Sergey Glukhov's avatar Sergey Glukhov
Browse files

Bug#35789 wrong datatypes for collation and charset columns in EVENTS, ROUTINES, TRIGGERS

changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32)
in tables:
SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS,
COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY
parent 2322356d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1754,8 +1754,8 @@ create table t1 like information_schema.character_sets;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
  `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'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
+8 −9
Original line number Diff line number Diff line
@@ -517,8 +517,8 @@ drop table t1;
SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets;
Table	Create Table
CHARACTER_SETS	CREATE TEMPORARY TABLE `CHARACTER_SETS` (
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
  `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'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
@@ -526,8 +526,8 @@ set names latin2;
SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets;
Table	Create Table
CHARACTER_SETS	CREATE TEMPORARY TABLE `CHARACTER_SETS` (
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
  `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'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
@@ -541,8 +541,8 @@ alter table t1 default character set utf8;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
  `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'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
@@ -716,8 +716,8 @@ select column_type from information_schema.columns
where table_schema="information_schema" and table_name="COLUMNS" and
(column_name="character_set_name" or column_name="collation_name");
column_type
varchar(64)
varchar(64)
varchar(32)
varchar(32)
select TABLE_ROWS from information_schema.tables where 
table_schema="information_schema" and table_name="COLUMNS";
TABLE_ROWS
@@ -764,7 +764,6 @@ information_schema PARTITIONS PARTITION_DESCRIPTION
information_schema	PLUGINS	PLUGIN_DESCRIPTION
information_schema	PROCESSLIST	INFO
information_schema	ROUTINES	ROUTINE_DEFINITION
information_schema	ROUTINES	SQL_MODE
information_schema	TRIGGERS	ACTION_CONDITION
information_schema	TRIGGERS	ACTION_STATEMENT
information_schema	VIEWS	VIEW_DEFINITION
+10 −10
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ def TABLES AUTO_INCREMENT Auto_increment 8 21 0 Y 32800 0 63
def			TABLES	CREATE_TIME	Create_time	12	19	0	Y	128	0	63
def			TABLES	UPDATE_TIME	Update_time	12	19	0	Y	128	0	63
def			TABLES	CHECK_TIME	Check_time	12	19	0	Y	128	0	63
def			TABLES	TABLE_COLLATION	Collation	253	64	0	Y	0	0	8
def			TABLES	TABLE_COLLATION	Collation	253	32	0	Y	0	0	8
def			TABLES	CHECKSUM	Checksum	8	21	0	Y	32800	0	63
def			TABLES	CREATE_OPTIONS	Create_options	253	255	0	Y	0	0	8
def			TABLES	TABLE_COMMENT	Comment	253	80	0	N	1	0	8
@@ -858,17 +858,17 @@ set names utf8;
----------------------------------------------------------------
SHOW CHARACTER SET LIKE 'utf8';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			CHARACTER_SETS	CHARACTER_SET_NAME	Charset	253	192	4	N	1	0	33
def			CHARACTER_SETS	CHARACTER_SET_NAME	Charset	253	96	4	N	1	0	33
def			CHARACTER_SETS	DESCRIPTION	Description	253	180	13	N	1	0	33
def			CHARACTER_SETS	DEFAULT_COLLATE_NAME	Default collation	253	192	15	N	1	0	33
def			CHARACTER_SETS	DEFAULT_COLLATE_NAME	Default collation	253	96	15	N	1	0	33
def			CHARACTER_SETS	MAXLEN	Maxlen	8	3	1	N	32769	0	63
Charset	Description	Default collation	Maxlen
utf8	UTF-8 Unicode	utf8_general_ci	3
----------------------------------------------------------------
SHOW COLLATION LIKE 'latin1_bin';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			COLLATIONS	COLLATION_NAME	Collation	253	192	10	N	1	0	33
def			COLLATIONS	CHARACTER_SET_NAME	Charset	253	192	6	N	1	0	33
def			COLLATIONS	COLLATION_NAME	Collation	253	96	10	N	1	0	33
def			COLLATIONS	CHARACTER_SET_NAME	Charset	253	96	6	N	1	0	33
def			COLLATIONS	ID	Id	8	11	2	N	32769	0	63
def			COLLATIONS	IS_DEFAULT	Default	253	9	0	N	1	0	33
def			COLLATIONS	IS_COMPILED	Compiled	253	9	3	N	1	0	33
@@ -935,7 +935,7 @@ def TABLES TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33
def			TABLES	TABLE_TYPE	TABLE_TYPE	253	192	10	N	1	0	33
def			TABLES	ENGINE	ENGINE	253	192	6	Y	0	0	33
def			TABLES	ROW_FORMAT	ROW_FORMAT	253	30	5	Y	0	0	33
def			TABLES	TABLE_COLLATION	TABLE_COLLATION	253	192	17	Y	0	0	33
def			TABLES	TABLE_COLLATION	TABLE_COLLATION	253	96	17	Y	0	0	33
def			TABLES	CREATE_OPTIONS	CREATE_OPTIONS	253	765	0	Y	0	0	33
def			TABLES	TABLE_COMMENT	TABLE_COMMENT	253	240	0	N	1	0	33
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	ROW_FORMAT	TABLE_COLLATION	CREATE_OPTIONS	TABLE_COMMENT
@@ -966,8 +966,8 @@ def COLUMNS COLUMN_NAME COLUMN_NAME 253 192 1 N 1 0 33
def			COLUMNS	COLUMN_DEFAULT	COLUMN_DEFAULT	252	589815	0	Y	16	0	33
def			COLUMNS	IS_NULLABLE	IS_NULLABLE	253	9	2	N	1	0	33
def			COLUMNS	DATA_TYPE	DATA_TYPE	253	192	3	N	1	0	33
def			COLUMNS	CHARACTER_SET_NAME	CHARACTER_SET_NAME	253	192	0	Y	0	0	33
def			COLUMNS	COLLATION_NAME	COLLATION_NAME	253	192	0	Y	0	0	33
def			COLUMNS	CHARACTER_SET_NAME	CHARACTER_SET_NAME	253	96	0	Y	0	0	33
def			COLUMNS	COLLATION_NAME	COLLATION_NAME	253	96	0	Y	0	0	33
def			COLUMNS	COLUMN_TYPE	COLUMN_TYPE	252	589815	7	N	17	0	33
def			COLUMNS	COLUMN_KEY	COLUMN_KEY	253	9	3	N	1	0	33
def			COLUMNS	EXTRA	EXTRA	253	81	0	N	1	0	33
@@ -1125,7 +1125,7 @@ def ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33
def			ROUTINES	SQL_DATA_ACCESS	SQL_DATA_ACCESS	253	192	12	N	1	0	33
def			ROUTINES	SQL_PATH	SQL_PATH	253	192	0	Y	0	0	33
def			ROUTINES	SECURITY_TYPE	SECURITY_TYPE	253	21	7	N	1	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	252	589815	0	N	17	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	253	24576	0	N	1	0	33
def			ROUTINES	ROUTINE_COMMENT	ROUTINE_COMMENT	253	192	0	N	1	0	33
def			ROUTINES	DEFINER	DEFINER	253	231	14	N	1	0	33
SPECIFIC_NAME	ROUTINE_CATALOG	ROUTINE_SCHEMA	ROUTINE_NAME	ROUTINE_TYPE	DTD_IDENTIFIER	ROUTINE_BODY	ROUTINE_DEFINITION	EXTERNAL_NAME	EXTERNAL_LANGUAGE	PARAMETER_STYLE	IS_DETERMINISTIC	SQL_DATA_ACCESS	SQL_PATH	SECURITY_TYPE	SQL_MODE	ROUTINE_COMMENT	DEFINER
@@ -1180,7 +1180,7 @@ def ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33
def			ROUTINES	SQL_DATA_ACCESS	SQL_DATA_ACCESS	253	192	12	N	1	0	33
def			ROUTINES	SQL_PATH	SQL_PATH	253	192	0	Y	0	0	33
def			ROUTINES	SECURITY_TYPE	SECURITY_TYPE	253	21	7	N	1	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	252	589815	0	N	17	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	253	24576	0	N	1	0	33
def			ROUTINES	ROUTINE_COMMENT	ROUTINE_COMMENT	253	192	0	N	1	0	33
def			ROUTINES	DEFINER	DEFINER	253	231	14	N	1	0	33
SPECIFIC_NAME	ROUTINE_CATALOG	ROUTINE_SCHEMA	ROUTINE_NAME	ROUTINE_TYPE	DTD_IDENTIFIER	ROUTINE_BODY	ROUTINE_DEFINITION	EXTERNAL_NAME	EXTERNAL_LANGUAGE	PARAMETER_STYLE	IS_DETERMINISTIC	SQL_DATA_ACCESS	SQL_PATH	SECURITY_TYPE	SQL_MODE	ROUTINE_COMMENT	DEFINER
+6 −6
Original line number Diff line number Diff line
@@ -28,22 +28,22 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE          information_schema.CHARACTER_SETS;
Field	Type	Null	Key	Default	Extra
CHARACTER_SET_NAME	varchar(64)	NO			
DEFAULT_COLLATE_NAME	varchar(64)	NO			
CHARACTER_SET_NAME	varchar(32)	NO			
DEFAULT_COLLATE_NAME	varchar(32)	NO			
DESCRIPTION	varchar(60)	NO			
MAXLEN	bigint(3)	NO		0	
SHOW CREATE TABLE information_schema.CHARACTER_SETS;
Table	Create Table
CHARACTER_SETS	CREATE TEMPORARY TABLE `CHARACTER_SETS` (
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
  `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'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.CHARACTER_SETS;
Field	Type	Null	Key	Default	Extra
CHARACTER_SET_NAME	varchar(64)	NO			
DEFAULT_COLLATE_NAME	varchar(64)	NO			
CHARACTER_SET_NAME	varchar(32)	NO			
DEFAULT_COLLATE_NAME	varchar(32)	NO			
DESCRIPTION	varchar(60)	NO			
MAXLEN	bigint(3)	NO		0	
# Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test
+6 −6
Original line number Diff line number Diff line
@@ -28,18 +28,18 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE          information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
Field	Type	Null	Key	Default	Extra
COLLATION_NAME	varchar(64)	NO			
CHARACTER_SET_NAME	varchar(64)	NO			
COLLATION_NAME	varchar(32)	NO			
CHARACTER_SET_NAME	varchar(32)	NO			
SHOW CREATE TABLE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
Table	Create Table
COLLATION_CHARACTER_SET_APPLICABILITY	CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
  `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
  `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
  `COLLATION_NAME` varchar(32) NOT NULL DEFAULT '',
  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
Field	Type	Null	Key	Default	Extra
COLLATION_NAME	varchar(64)	NO			
CHARACTER_SET_NAME	varchar(64)	NO			
COLLATION_NAME	varchar(32)	NO			
CHARACTER_SET_NAME	varchar(32)	NO			
# Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test
########################################################################
# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
Loading