Skip to content

Commit fe401b5

Browse files
gopshankdahlerlend
authored andcommitted
WL#6599 - New Data Dictionary and I_S integration.
This is a post-push patch fixing test cases for windows/osx pb2 failures. - Order the rows from INFORMATION_SCHEMA query. - Mask explain query warning which shows the INFORMATION_SCHEMA system view query definition. The definition of the system view varies between platform. - Create a separate result file for case sensitive and case sensitive file systems, because the definition of system view changes because of use of utf8_tolower_ci collation for few columns and the definition of sys.schema_auto_increment_columns vary. The test case v_schema_auto_increment_columns is written to ensure structure changes don't slip in.
1 parent c4ce789 commit fe401b5

9 files changed

+192
-6
lines changed

mysql-test/r/information_schema-big.result

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ c2.table_name = t.table_name AND
1818
c2.column_name LIKE '%SCHEMA%'
1919
)
2020
AND t.table_name NOT LIKE 'ndb%'
21-
AND t.table_name NOT LIKE 'INNODB%';
21+
AND t.table_name NOT LIKE 'INNODB%'
22+
ORDER BY t.table_name COLLATE utf8_general_ci,
23+
c1.column_name COLLATE utf8_general_ci;
2224
TABLE_NAME COLUMN_NAME
2325
CHARACTER_SETS CHARACTER_SET_NAME
2426
COLLATIONS COLLATION_NAME
@@ -71,7 +73,9 @@ c2.table_name = t.table_name AND
7173
c2.column_name LIKE '%SCHEMA%'
7274
)
7375
AND t.table_name NOT LIKE 'ndb%'
74-
AND t.table_name NOT LIKE 'INNODB%';
76+
AND t.table_name NOT LIKE 'INNODB%'
77+
ORDER BY t.table_name COLLATE utf8_general_ci,
78+
c1.column_name COLLATE utf8_general_ci;
7579
TABLE_NAME COLUMN_NAME
7680
CHARACTER_SETS CHARACTER_SET_NAME
7781
COLLATIONS COLLATION_NAME

mysql-test/r/internal_tmp_disk_storage_engine.result

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,8 +1478,6 @@ EXPLAIN
14781478
}
14791479
}
14801480
}
1481-
Warnings:
1482-
Note 1003 /* select#1 */ select `character_sets`.`CHARACTER_SET_NAME` AS `CHARACTER_SET_NAME`,`character_sets`.`DEFAULT_COLLATE_NAME` AS `DEFAULT_COLLATE_NAME`,`character_sets`.`DESCRIPTION` AS `DESCRIPTION`,`character_sets`.`MAXLEN` AS `MAXLEN` from `information_schema`.`CHARACTER_SETS` `character_sets` order by `character_sets`.`CHARACTER_SET_NAME` limit 3
14831481
select * from information_schema.character_sets order by 1 limit 3;
14841482
CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
14851483
armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
DESC sys.schema_auto_increment_columns;
2+
Field Type Null Key Default Extra
3+
table_schema varchar(64) NO
4+
table_name varchar(64) NO
5+
column_name varchar(64) NO
6+
data_type longtext NO NULL
7+
column_type mediumtext NO NULL
8+
is_signed int(1) NO 0
9+
is_unsigned int(1) NO 0
10+
max_value bigint(21) unsigned YES NULL
11+
auto_increment bigint(20) unsigned YES NULL
12+
auto_increment_ratio decimal(24,4) unsigned YES NULL
13+
SELECT * FROM sys.schema_auto_increment_columns;
14+
CREATE DATABASE auto_incs;
15+
CREATE TABLE auto_incs.tinyintcol (
16+
id TINYINT AUTO_INCREMENT PRIMARY KEY,
17+
foo INT
18+
);
19+
INSERT INTO auto_incs.tinyintcol (foo) VALUES (100);
20+
INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
21+
INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
22+
INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
23+
INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
24+
CREATE TABLE auto_incs.tinyintcolunsigned (
25+
id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
26+
foo INT
27+
);
28+
INSERT INTO auto_incs.tinyintcolunsigned (foo) (SELECT foo FROM auto_incs.tinyintcol);
29+
CREATE TABLE auto_incs.smallintcol (
30+
id SMALLINT AUTO_INCREMENT PRIMARY KEY,
31+
foo INT
32+
);
33+
INSERT INTO auto_incs.smallintcol (foo) VALUES (200);
34+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
35+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
36+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
37+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
38+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
39+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
40+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
41+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
42+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
43+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
44+
INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
45+
CREATE TABLE auto_incs.smallintcolunsigned (
46+
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
47+
foo INT
48+
);
49+
INSERT INTO auto_incs.smallintcolunsigned (foo) (SELECT foo FROM auto_incs.smallintcol);
50+
CREATE TABLE auto_incs.mediumintcol (
51+
id MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
52+
foo INT
53+
);
54+
INSERT INTO auto_incs.mediumintcol (foo) VALUES (300);
55+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
56+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
57+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
58+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
59+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
60+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
61+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
62+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
63+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
64+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
65+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
66+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
67+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
68+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
69+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
70+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
71+
INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
72+
CREATE TABLE auto_incs.mediumintcolunsigned (
73+
id MEDIUMINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
74+
foo INT
75+
);
76+
INSERT INTO auto_incs.mediumintcolunsigned (foo) (SELECT foo FROM auto_incs.mediumintcol);
77+
CREATE TABLE auto_incs.intcol (
78+
id INT AUTO_INCREMENT PRIMARY KEY,
79+
foo INT
80+
);
81+
INSERT INTO auto_incs.intcol (foo) VALUES (400);
82+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
83+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
84+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
85+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
86+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
87+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
88+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
89+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
90+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
91+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
92+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
93+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
94+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
95+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
96+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
97+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
98+
INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
99+
CREATE TABLE auto_incs.intcolunsigned (
100+
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
101+
foo INT
102+
);
103+
INSERT INTO auto_incs.intcolunsigned (foo) (SELECT foo FROM auto_incs.intcol);
104+
CREATE TABLE auto_incs.bigintcol (
105+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
106+
foo INT
107+
);
108+
INSERT INTO auto_incs.bigintcol (foo) VALUES (500);
109+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
110+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
111+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
112+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
113+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
114+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
115+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
116+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
117+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
118+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
119+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
120+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
121+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
122+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
123+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
124+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
125+
INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
126+
CREATE TABLE auto_incs.bigintcolunsigned (
127+
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
128+
foo INT
129+
);
130+
INSERT INTO auto_incs.bigintcolunsigned (foo) (SELECT foo FROM auto_incs.bigintcol);
131+
analyze table auto_incs.tinyintcol;
132+
Table Op Msg_type Msg_text
133+
auto_incs.tinyintcol analyze status OK
134+
analyze table auto_incs.tinyintcolunsigned;
135+
Table Op Msg_type Msg_text
136+
auto_incs.tinyintcolunsigned analyze status OK
137+
analyze table auto_incs.smallintcol;
138+
Table Op Msg_type Msg_text
139+
auto_incs.smallintcol analyze status OK
140+
analyze table auto_incs.smallintcolunsigned;
141+
Table Op Msg_type Msg_text
142+
auto_incs.smallintcolunsigned analyze status OK
143+
analyze table auto_incs.mediumintcol;
144+
Table Op Msg_type Msg_text
145+
auto_incs.mediumintcol analyze status OK
146+
analyze table auto_incs.mediumintcolunsigned;
147+
Table Op Msg_type Msg_text
148+
auto_incs.mediumintcolunsigned analyze status OK
149+
analyze table auto_incs.intcol;
150+
Table Op Msg_type Msg_text
151+
auto_incs.intcol analyze status OK
152+
analyze table auto_incs.intcolunsigned;
153+
Table Op Msg_type Msg_text
154+
auto_incs.intcolunsigned analyze status OK
155+
analyze table auto_incs.bigintcol;
156+
Table Op Msg_type Msg_text
157+
auto_incs.bigintcol analyze status OK
158+
analyze table auto_incs.bigintcolunsigned;
159+
Table Op Msg_type Msg_text
160+
auto_incs.bigintcolunsigned analyze status OK
161+
SELECT * FROM sys.schema_auto_increment_columns;
162+
table_schema table_name column_name data_type column_type is_signed is_unsigned max_value auto_increment auto_increment_ratio
163+
auto_incs tinyintcol id tinyint tinyint(4) 1 0 127 28 0.2205
164+
auto_incs tinyintcolunsigned id tinyint tinyint(3) unsigned 0 1 255 32 0.1255
165+
auto_incs smallintcol id smallint smallint(6) 1 0 32767 4085 0.1247
166+
auto_incs smallintcolunsigned id smallint smallint(5) unsigned 0 1 65535 4096 0.0625
167+
auto_incs mediumintcol id mediumint mediumint(9) 1 0 8388607 262126 0.0312
168+
auto_incs mediumintcolunsigned id mediumint mediumint(8) unsigned 0 1 16777215 196606 0.0117
169+
auto_incs intcol id int int(11) 1 0 2147483647 262126 0.0001
170+
auto_incs intcolunsigned id int int(10) unsigned 0 1 4294967295 196606 0.0000
171+
auto_incs bigintcol id bigint bigint(20) 1 0 9223372036854775807 262126 0.0000
172+
auto_incs bigintcolunsigned id bigint bigint(20) unsigned 0 1 18446744073709551615 196606 0.0000
173+
DROP DATABASE auto_incs;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
--source include/have_case_insensitive_file_system.inc
2+
--source ../include/v_schema_auto_increment_columns.inc
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
--source include/have_case_sensitive_file_system.inc
2+
--source ../include/v_schema_auto_increment_columns.inc
3+

mysql-test/t/information_schema-big.test

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ SELECT t.table_name, c1.column_name
2727
c2.column_name LIKE '%SCHEMA%'
2828
)
2929
AND t.table_name NOT LIKE 'ndb%'
30-
AND t.table_name NOT LIKE 'INNODB%';
30+
AND t.table_name NOT LIKE 'INNODB%'
31+
ORDER BY t.table_name COLLATE utf8_general_ci,
32+
c1.column_name COLLATE utf8_general_ci;
3133
SELECT t.table_name, c1.column_name
3234
FROM information_schema.tables t
3335
INNER JOIN
@@ -43,4 +45,6 @@ SELECT t.table_name, c1.column_name
4345
c2.column_name LIKE '%SCHEMA%'
4446
)
4547
AND t.table_name NOT LIKE 'ndb%'
46-
AND t.table_name NOT LIKE 'INNODB%';
48+
AND t.table_name NOT LIKE 'INNODB%'
49+
ORDER BY t.table_name COLLATE utf8_general_ci,
50+
c1.column_name COLLATE utf8_general_ci;

mysql-test/t/internal_tmp_disk_storage_engine.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,9 @@ select * from t1 where t1.a in (select a from t2) order by 1, 2;
155155
set optimizer_switch= @tmp_optimizer_switch;
156156

157157
#system table
158+
--disable_warnings
158159
explain format=json select * from information_schema.character_sets order by 1 limit 3;
160+
--enable_warnings
159161
select * from information_schema.character_sets order by 1 limit 3;
160162

161163
#muti-update

0 commit comments

Comments
 (0)