summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorGeorgi Kodinov <joro@sun.com>2009-07-14 11:47:22 +0300
committerGeorgi Kodinov <joro@sun.com>2009-07-14 11:47:22 +0300
commit7cf4e36f2d4d9eb222bd1722d06e8c89c0e227a2 (patch)
treeb46b243b588be2e8c3beb7a79edac1633bbe5346 /mysql-test
parent410e1a72b957b72e0fb2a50930e7e82847c4486c (diff)
parent42cab12a9366a42ae6dd2dee9024d9a56467bda3 (diff)
downloadmariadb-git-7cf4e36f2d4d9eb222bd1722d06e8c89c0e227a2.tar.gz
automerge
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/bug46080.result14
-rw-r--r--mysql-test/r/func_compress.result2
-rw-r--r--mysql-test/r/innodb_bug40565.result9
-rw-r--r--mysql-test/r/packet.result12
-rw-r--r--mysql-test/r/rpl_sp.result1
-rw-r--r--mysql-test/r/sp-fib.result21
-rw-r--r--mysql-test/r/variables.result26
-rw-r--r--mysql-test/r/view.result111
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation.result40
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_1.result309
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_2.result311
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_3.result309
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation.test (renamed from mysql-test/suite/funcs_1/datadict/charset_collation.inc)91
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_1.test32
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_2.test24
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_3.test25
-rw-r--r--mysql-test/t/bug46080-master.opt1
-rw-r--r--mysql-test/t/bug46080.test22
-rw-r--r--mysql-test/t/disabled.def7
-rw-r--r--mysql-test/t/func_compress.test4
-rw-r--r--mysql-test/t/innodb_bug40565.test10
-rw-r--r--mysql-test/t/lock_multi_bug38499.test1
-rw-r--r--mysql-test/t/packet.test28
-rw-r--r--mysql-test/t/rpl_sp.test10
-rw-r--r--mysql-test/t/sp-fib.test24
-rw-r--r--mysql-test/t/variables.test21
-rw-r--r--mysql-test/t/view.test32
27 files changed, 351 insertions, 1146 deletions
diff --git a/mysql-test/r/bug46080.result b/mysql-test/r/bug46080.result
new file mode 100644
index 00000000000..18c7c22829a
--- /dev/null
+++ b/mysql-test/r/bug46080.result
@@ -0,0 +1,14 @@
+#
+# Bug #46080: group_concat(... order by) crashes server when
+# sort_buffer_size cannot allocate
+#
+CREATE TABLE t1(a CHAR(255));
+INSERT INTO t1 VALUES ('a');
+SET @@SESSION.sort_buffer_size=5*16*1000000;
+SET @@SESSION.max_heap_table_size=5*1000000;
+# Must not crash.
+SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a;
+DROP TABLE t1;
+SET @@SESSION.sort_buffer_size=default;
+SET @@SESSION.max_heap_table_size=default;
+End of 5.0 tests
diff --git a/mysql-test/r/func_compress.result b/mysql-test/r/func_compress.result
index d8745c38f57..d0689af5bff 100644
--- a/mysql-test/r/func_compress.result
+++ b/mysql-test/r/func_compress.result
@@ -68,7 +68,7 @@ Warnings:
Error 1259 ZLIB: Input data corrupted
Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted)
drop table t1;
-set @@max_allowed_packet=1048576*100;
+set @@global.max_allowed_packet=1048576*100;
select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null
0
diff --git a/mysql-test/r/innodb_bug40565.result b/mysql-test/r/innodb_bug40565.result
new file mode 100644
index 00000000000..21e923d9336
--- /dev/null
+++ b/mysql-test/r/innodb_bug40565.result
@@ -0,0 +1,9 @@
+create table bug40565(value decimal(4,2)) engine=innodb;
+insert into bug40565 values (1), (null);
+update bug40565 set value=NULL;
+affected rows: 1
+info: Rows matched: 2 Changed: 1 Warnings: 0
+update bug40565 set value=NULL;
+affected rows: 0
+info: Rows matched: 2 Changed: 0 Warnings: 0
+drop table bug40565;
diff --git a/mysql-test/r/packet.result b/mysql-test/r/packet.result
index 5cc63c4690d..ecbb47d4ee0 100644
--- a/mysql-test/r/packet.result
+++ b/mysql-test/r/packet.result
@@ -3,32 +3,22 @@ set @net_buffer_length=@@global.net_buffer_length;
set global max_allowed_packet=100;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '100'
-set max_allowed_packet=100;
-Warnings:
-Warning 1292 Truncated incorrect max_allowed_packet value: '100'
set global net_buffer_length=100;
Warnings:
Warning 1292 Truncated incorrect net_buffer_length value: '100'
-set net_buffer_length=100;
-Warnings:
-Warning 1292 Truncated incorrect net_buffer_length value: '100'
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
len
1024
select repeat('a',2000);
repeat('a',2000)
-NULL
-Warnings:
-Warning 1301 Result of repeat() was larger than max_allowed_packet (1024) - truncated
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
select @@net_buffer_length, @@max_allowed_packet;
@@net_buffer_length @@max_allowed_packet
1024 1024
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
ERROR 08S01: Got a packet bigger than 'max_allowed_packet' bytes
set global max_allowed_packet=default;
-set max_allowed_packet=default;
set global net_buffer_length=default;
-set net_buffer_length=default;
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
len
100
diff --git a/mysql-test/r/rpl_sp.result b/mysql-test/r/rpl_sp.result
index 0f4d0fa8dad..7f1ae19035f 100644
--- a/mysql-test/r/rpl_sp.result
+++ b/mysql-test/r/rpl_sp.result
@@ -949,3 +949,4 @@ use test;
drop procedure mysqltestbug36570_p1;
drop procedure ` mysqltestbug36570_p2`;
drop function mysqltestbug36570_f1;
+set global log_bin_trust_function_creators = 0;
diff --git a/mysql-test/r/sp-fib.result b/mysql-test/r/sp-fib.result
index c51aa7d7ad1..a26e104c1e8 100644
--- a/mysql-test/r/sp-fib.result
+++ b/mysql-test/r/sp-fib.result
@@ -10,24 +10,17 @@ declare c cursor for select f from t3 order by f desc limit 2;
open c;
fetch c into y;
fetch c into x;
-close c;
insert into t3 values (x+y);
call fib(n-1);
+## Close the cursor AFTER the recursion to ensure that the stack
+## frame is somewhat intact.
+close c;
end;
end if;
end|
set @@max_sp_recursion_depth= 20|
insert into t3 values (0), (1)|
-call fib(3)|
-select * from t3 order by f asc|
-f
-0
-1
-1
-2
-delete from t3|
-insert into t3 values (0), (1)|
-call fib(10)|
+call fib(4)|
select * from t3 order by f asc|
f
0
@@ -35,12 +28,6 @@ f
1
2
3
-5
-8
-13
-21
-34
-55
drop table t3|
drop procedure fib|
set @@max_sp_recursion_depth= 0|
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index fbec38c9a9f..496f0b69fb8 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -187,7 +187,7 @@ Variable_name Value
myisam_max_sort_file_size FILE_SIZE
set global net_retry_count=10, session net_retry_count=10;
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
-set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
+set session net_write_timeout=500, net_read_timeout=600;
show global variables like 'net_%';
Variable_name Value
net_buffer_length 1024
@@ -196,35 +196,39 @@ net_retry_count 10
net_write_timeout 200
show session variables like 'net_%';
Variable_name Value
-net_buffer_length 2048
+net_buffer_length 16384
net_read_timeout 600
net_retry_count 10
net_write_timeout 500
-set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
+set global net_buffer_length=8000, net_read_timeout=900, net_write_timeout=1000;
show global variables like 'net_%';
Variable_name Value
-net_buffer_length 1024
+net_buffer_length 7168
net_read_timeout 900
net_retry_count 10
net_write_timeout 1000
show session variables like 'net_%';
Variable_name Value
-net_buffer_length 7168
+net_buffer_length 16384
net_read_timeout 600
net_retry_count 10
net_write_timeout 500
-set net_buffer_length=1;
+set global net_buffer_length=1;
Warnings:
Warning 1292 Truncated incorrect net_buffer_length value: '1'
-show variables like 'net_buffer_length';
+show global variables like 'net_buffer_length';
Variable_name Value
net_buffer_length 1024
-set net_buffer_length=2000000000;
+set global net_buffer_length=2000000000;
Warnings:
Warning 1292 Truncated incorrect net_buffer_length value: '2000000000'
-show variables like 'net_buffer_length';
+show global variables like 'net_buffer_length';
Variable_name Value
net_buffer_length 1048576
+set session net_buffer_length=1024;
+ERROR HY000: SESSION variable net_buffer_length is read-only. Use SET GLOBAL net_buffer_length to assign the value
+set session max_allowed_packet=1024;
+ERROR HY000: SESSION variable max_allowed_packet is read-only. Use SET GLOBAL max_allowed_packet to assign the value
set character set cp1251_koi8;
show variables like "character_set_client";
Variable_name Value
@@ -393,7 +397,7 @@ set last_insert_id=1;
set global local_infile=1;
set long_query_time=100;
set low_priority_updates=1;
-set max_allowed_packet=100;
+set global max_allowed_packet=100;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '100'
set global max_binlog_cache_size=100;
@@ -417,7 +421,7 @@ select @@max_user_connections;
100
set global max_write_lock_count=100;
set myisam_sort_buffer_size=100;
-set net_buffer_length=100;
+set global net_buffer_length=100;
Warnings:
Warning 1292 Truncated incorrect net_buffer_length value: '100'
set net_read_timeout=100;
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index a7ac971ef45..715fb225550 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -3723,6 +3723,117 @@ DROP TABLE t1;
# -- End of test case for Bug#40825
+#
+# Bug #45806 crash when replacing into a view with a join!
+#
+CREATE TABLE t1(a INT UNIQUE);
+CREATE VIEW v1 AS SELECT t1.a FROM t1, t1 AS a;
+INSERT INTO t1 VALUES (1), (2);
+REPLACE INTO v1(a) SELECT 1 FROM t1,t1 AS c;
+SELECT * FROM v1;
+a
+1
+2
+1
+2
+REPLACE INTO v1(a) SELECT 3 FROM t1,t1 AS c;
+SELECT * FROM v1;
+a
+1
+2
+3
+1
+2
+3
+1
+2
+3
+DELETE FROM t1 WHERE a=3;
+INSERT INTO v1(a) SELECT 1 FROM t1,t1 AS c
+ON DUPLICATE KEY UPDATE `v1`.`a`= 1;
+SELECT * FROM v1;
+a
+1
+2
+1
+2
+CREATE VIEW v2 AS SELECT t1.a FROM t1, v1 AS a;
+REPLACE INTO v2(a) SELECT 1 FROM t1,t1 AS c;
+SELECT * FROM v2;
+a
+1
+2
+1
+2
+1
+2
+1
+2
+REPLACE INTO v2(a) SELECT 3 FROM t1,t1 AS c;
+SELECT * FROM v2;
+a
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+INSERT INTO v2(a) SELECT 1 FROM t1,t1 AS c
+ON DUPLICATE KEY UPDATE `v2`.`a`= 1;
+SELECT * FROM v2;
+a
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+1
+2
+3
+DROP VIEW v1;
+DROP VIEW v2;
+DROP TABLE t1;
+# -- End of test case for Bug#45806
# -----------------------------------------------------------------
# -- End of 5.0 tests.
# -----------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/charset_collation.result b/mysql-test/suite/funcs_1/r/charset_collation.result
new file mode 100644
index 00000000000..b3183ba48e1
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/charset_collation.result
@@ -0,0 +1,40 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+WHERE character_set_name IN ('utf8','latin1','binary')
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+binary binary Binary pseudo charset 1
+latin1 latin1_swedish_ci cp1252 West European 1
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+WHERE character_set_name IN ('utf8','latin1','binary')
+AND (collation_name LIKE CONCAT(character_set_name,'_general_ci')
+OR
+collation_name LIKE CONCAT(character_set_name,'_bin'))
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+latin1_bin latin1 47 Yes 1
+latin1_general_ci latin1 48 Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_general_ci utf8 33 Yes Yes 1
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+WHERE character_set_name IN ('utf8','latin1','binary')
+AND (collation_name LIKE CONCAT(character_set_name,'_general_ci')
+OR
+collation_name LIKE CONCAT(character_set_name,'_bin'))
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+latin1_bin latin1
+latin1_general_ci latin1
+utf8_bin utf8
+utf8_general_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_1.result b/mysql-test/suite/funcs_1/r/charset_collation_1.result
deleted file mode 100644
index d397c671321..00000000000
--- a/mysql-test/suite/funcs_1/r/charset_collation_1.result
+++ /dev/null
@@ -1,309 +0,0 @@
-DROP USER dbdict_test@localhost;
-CREATE USER dbdict_test@localhost;
-# Establish connection con (user=dbdict_test)
-
-SELECT *
-FROM information_schema.character_sets
-ORDER BY character_set_name;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-ascii ascii_general_ci US ASCII 1
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-binary binary Binary pseudo charset 1
-cp1250 cp1250_general_ci Windows Central European 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-cp850 cp850_general_ci DOS West European 1
-cp852 cp852_general_ci DOS Central European 1
-cp866 cp866_general_ci DOS Russian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-dec8 dec8_swedish_ci DEC West European 1
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-euckr euckr_korean_ci EUC-KR Korean 2
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-greek greek_general_ci ISO 8859-7 Greek 1
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-hp8 hp8_english_ci HP West European 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-swe7 swe7_swedish_ci 7bit Swedish 1
-tis620 tis620_thai_ci TIS620 Thai 1
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-ujis ujis_japanese_ci EUC-JP Japanese 3
-utf8 utf8_general_ci UTF-8 Unicode 3
-
-SELECT *
-FROM information_schema.collations
-ORDER BY collation_name;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-armscii8_bin armscii8 64 0
-armscii8_general_ci armscii8 32 Yes 0
-ascii_bin ascii 65 0
-ascii_general_ci ascii 11 Yes 0
-big5_bin big5 84 Yes 1
-big5_chinese_ci big5 1 Yes Yes 1
-binary binary 63 Yes Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1251_bin cp1251 50 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1256_bin cp1256 67 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-cp1257_lithuanian_ci cp1257 29 0
-cp850_bin cp850 80 0
-cp850_general_ci cp850 4 Yes 0
-cp852_bin cp852 81 0
-cp852_general_ci cp852 40 Yes 0
-cp866_bin cp866 68 0
-cp866_general_ci cp866 36 Yes 0
-cp932_bin cp932 96 Yes 1
-cp932_japanese_ci cp932 95 Yes Yes 1
-dec8_bin dec8 69 0
-dec8_swedish_ci dec8 3 Yes 0
-eucjpms_bin eucjpms 98 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-geostd8_bin geostd8 93 0
-geostd8_general_ci geostd8 92 Yes 0
-greek_bin greek 70 0
-greek_general_ci greek 25 Yes 0
-hebrew_bin hebrew 71 0
-hebrew_general_ci hebrew 16 Yes 0
-hp8_bin hp8 72 0
-hp8_english_ci hp8 6 Yes 0
-keybcs2_bin keybcs2 73 0
-keybcs2_general_ci keybcs2 37 Yes 0
-koi8r_bin koi8r 74 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8u_bin koi8u 75 0
-koi8u_general_ci koi8u 22 Yes 0
-latin1_bin latin1 47 Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_german1_ci latin1 5 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_spanish_ci latin1 94 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin2_bin latin2 77 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin5_bin latin5 78 0
-latin5_turkish_ci latin5 30 Yes 0
-latin7_bin latin7 79 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-macce_bin macce 43 0
-macce_general_ci macce 38 Yes 0
-macroman_bin macroman 53 0
-macroman_general_ci macroman 39 Yes 0
-sjis_bin sjis 88 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-swe7_bin swe7 82 0
-swe7_swedish_ci swe7 10 Yes 0
-tis620_bin tis620 89 Yes 1
-tis620_thai_ci tis620 18 Yes Yes 4
-ucs2_bin ucs2 90 Yes 1
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_hungarian_ci ucs2 146 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_unicode_ci ucs2 128 Yes 8
-ujis_bin ujis 91 Yes 1
-ujis_japanese_ci ujis 12 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_hungarian_ci utf8 210 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_unicode_ci utf8 192 Yes 8
-
-
-SELECT *
-FROM information_schema.collation_character_set_applicability
-ORDER BY collation_name, character_set_name;
-COLLATION_NAME CHARACTER_SET_NAME
-armscii8_bin armscii8
-armscii8_general_ci armscii8
-ascii_bin ascii
-ascii_general_ci ascii
-big5_bin big5
-big5_chinese_ci big5
-binary binary
-cp1250_bin cp1250
-cp1250_croatian_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_general_ci cp1250
-cp1251_bin cp1251
-cp1251_bulgarian_ci cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1251_ukrainian_ci cp1251
-cp1256_bin cp1256
-cp1256_general_ci cp1256
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-cp1257_lithuanian_ci cp1257
-cp850_bin cp850
-cp850_general_ci cp850
-cp852_bin cp852
-cp852_general_ci cp852
-cp866_bin cp866
-cp866_general_ci cp866
-cp932_bin cp932
-cp932_japanese_ci cp932
-dec8_bin dec8
-dec8_swedish_ci dec8
-eucjpms_bin eucjpms
-eucjpms_japanese_ci eucjpms
-euckr_bin euckr
-euckr_korean_ci euckr
-gb2312_bin gb2312
-gb2312_chinese_ci gb2312
-gbk_bin gbk
-gbk_chinese_ci gbk
-geostd8_bin geostd8
-geostd8_general_ci geostd8
-greek_bin greek
-greek_general_ci greek
-hebrew_bin hebrew
-hebrew_general_ci hebrew
-hp8_bin hp8
-hp8_english_ci hp8
-keybcs2_bin keybcs2
-keybcs2_general_ci keybcs2
-koi8r_bin koi8r
-koi8r_general_ci koi8r
-koi8u_bin koi8u
-koi8u_general_ci koi8u
-latin1_bin latin1
-latin1_danish_ci latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_german1_ci latin1
-latin1_german2_ci latin1
-latin1_spanish_ci latin1
-latin1_swedish_ci latin1
-latin2_bin latin2
-latin2_croatian_ci latin2
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin5_bin latin5
-latin5_turkish_ci latin5
-latin7_bin latin7
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-macce_bin macce
-macce_general_ci macce
-macroman_bin macroman
-macroman_general_ci macroman
-sjis_bin sjis
-sjis_japanese_ci sjis
-swe7_bin swe7
-swe7_swedish_ci swe7
-tis620_bin tis620
-tis620_thai_ci tis620
-ucs2_bin ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_general_ci ucs2
-ucs2_hungarian_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_unicode_ci ucs2
-ujis_bin ujis
-ujis_japanese_ci ujis
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-utf8_general_ci utf8
-utf8_hungarian_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_lithuanian_ci utf8
-utf8_persian_ci utf8
-utf8_polish_ci utf8
-utf8_romanian_ci utf8
-utf8_roman_ci utf8
-utf8_slovak_ci utf8
-utf8_slovenian_ci utf8
-utf8_spanish2_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_unicode_ci utf8
-# Switch to connection default + disconnect con
-DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_2.result b/mysql-test/suite/funcs_1/r/charset_collation_2.result
deleted file mode 100644
index 0035da13c56..00000000000
--- a/mysql-test/suite/funcs_1/r/charset_collation_2.result
+++ /dev/null
@@ -1,311 +0,0 @@
-DROP USER dbdict_test@localhost;
-CREATE USER dbdict_test@localhost;
-# Establish connection con (user=dbdict_test)
-
-SELECT *
-FROM information_schema.character_sets
-ORDER BY character_set_name;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-ascii ascii_general_ci US ASCII 1
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-binary binary Binary pseudo charset 1
-cp1250 cp1250_general_ci Windows Central European 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-cp850 cp850_general_ci DOS West European 1
-cp852 cp852_general_ci DOS Central European 1
-cp866 cp866_general_ci DOS Russian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-dec8 dec8_swedish_ci DEC West European 1
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-euckr euckr_korean_ci EUC-KR Korean 2
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-greek greek_general_ci ISO 8859-7 Greek 1
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-hp8 hp8_english_ci HP West European 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-swe7 swe7_swedish_ci 7bit Swedish 1
-tis620 tis620_thai_ci TIS620 Thai 1
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-ujis ujis_japanese_ci EUC-JP Japanese 3
-utf8 utf8_general_ci UTF-8 Unicode 3
-
-SELECT *
-FROM information_schema.collations
-ORDER BY collation_name;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-armscii8_bin armscii8 64 0
-armscii8_general_ci armscii8 32 Yes 0
-ascii_bin ascii 65 0
-ascii_general_ci ascii 11 Yes 0
-big5_bin big5 84 Yes 1
-big5_chinese_ci big5 1 Yes Yes 1
-binary binary 63 Yes Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1251_bin cp1251 50 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1256_bin cp1256 67 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-cp1257_lithuanian_ci cp1257 29 0
-cp850_bin cp850 80 0
-cp850_general_ci cp850 4 Yes 0
-cp852_bin cp852 81 0
-cp852_general_ci cp852 40 Yes 0
-cp866_bin cp866 68 0
-cp866_general_ci cp866 36 Yes 0
-cp932_bin cp932 96 Yes 1
-cp932_japanese_ci cp932 95 Yes Yes 1
-dec8_bin dec8 69 0
-dec8_swedish_ci dec8 3 Yes 0
-eucjpms_bin eucjpms 98 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-geostd8_bin geostd8 93 0
-geostd8_general_ci geostd8 92 Yes 0
-greek_bin greek 70 0
-greek_general_ci greek 25 Yes 0
-hebrew_bin hebrew 71 0
-hebrew_general_ci hebrew 16 Yes 0
-hp8_bin hp8 72 0
-hp8_english_ci hp8 6 Yes 0
-keybcs2_bin keybcs2 73 0
-keybcs2_general_ci keybcs2 37 Yes 0
-koi8r_bin koi8r 74 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8u_bin koi8u 75 0
-koi8u_general_ci koi8u 22 Yes 0
-latin1_bin latin1 47 Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_german1_ci latin1 5 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_spanish_ci latin1 94 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin2_bin latin2 77 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin5_bin latin5 78 0
-latin5_turkish_ci latin5 30 Yes 0
-latin7_bin latin7 79 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-macce_bin macce 43 0
-macce_general_ci macce 38 Yes 0
-macroman_bin macroman 53 0
-macroman_general_ci macroman 39 Yes 0
-sjis_bin sjis 88 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-swe7_bin swe7 82 0
-swe7_swedish_ci swe7 10 Yes 0
-tis620_bin tis620 89 Yes 1
-tis620_thai_ci tis620 18 Yes Yes 4
-ucs2_bin ucs2 90 Yes 1
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_hungarian_ci ucs2 146 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_unicode_ci ucs2 128 Yes 8
-ujis_bin ujis 91 Yes 1
-ujis_japanese_ci ujis 12 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_general_cs utf8 254 Yes 1
-utf8_hungarian_ci utf8 210 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_unicode_ci utf8 192 Yes 8
-
-
-SELECT *
-FROM information_schema.collation_character_set_applicability
-ORDER BY collation_name, character_set_name;
-COLLATION_NAME CHARACTER_SET_NAME
-armscii8_bin armscii8
-armscii8_general_ci armscii8
-ascii_bin ascii
-ascii_general_ci ascii
-big5_bin big5
-big5_chinese_ci big5
-binary binary
-cp1250_bin cp1250
-cp1250_croatian_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_general_ci cp1250
-cp1251_bin cp1251
-cp1251_bulgarian_ci cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1251_ukrainian_ci cp1251
-cp1256_bin cp1256
-cp1256_general_ci cp1256
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-cp1257_lithuanian_ci cp1257
-cp850_bin cp850
-cp850_general_ci cp850
-cp852_bin cp852
-cp852_general_ci cp852
-cp866_bin cp866
-cp866_general_ci cp866
-cp932_bin cp932
-cp932_japanese_ci cp932
-dec8_bin dec8
-dec8_swedish_ci dec8
-eucjpms_bin eucjpms
-eucjpms_japanese_ci eucjpms
-euckr_bin euckr
-euckr_korean_ci euckr
-gb2312_bin gb2312
-gb2312_chinese_ci gb2312
-gbk_bin gbk
-gbk_chinese_ci gbk
-geostd8_bin geostd8
-geostd8_general_ci geostd8
-greek_bin greek
-greek_general_ci greek
-hebrew_bin hebrew
-hebrew_general_ci hebrew
-hp8_bin hp8
-hp8_english_ci hp8
-keybcs2_bin keybcs2
-keybcs2_general_ci keybcs2
-koi8r_bin koi8r
-koi8r_general_ci koi8r
-koi8u_bin koi8u
-koi8u_general_ci koi8u
-latin1_bin latin1
-latin1_danish_ci latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_german1_ci latin1
-latin1_german2_ci latin1
-latin1_spanish_ci latin1
-latin1_swedish_ci latin1
-latin2_bin latin2
-latin2_croatian_ci latin2
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin5_bin latin5
-latin5_turkish_ci latin5
-latin7_bin latin7
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-macce_bin macce
-macce_general_ci macce
-macroman_bin macroman
-macroman_general_ci macroman
-sjis_bin sjis
-sjis_japanese_ci sjis
-swe7_bin swe7
-swe7_swedish_ci swe7
-tis620_bin tis620
-tis620_thai_ci tis620
-ucs2_bin ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_general_ci ucs2
-ucs2_hungarian_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_unicode_ci ucs2
-ujis_bin ujis
-ujis_japanese_ci ujis
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-utf8_general_ci utf8
-utf8_general_cs utf8
-utf8_hungarian_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_lithuanian_ci utf8
-utf8_persian_ci utf8
-utf8_polish_ci utf8
-utf8_romanian_ci utf8
-utf8_roman_ci utf8
-utf8_slovak_ci utf8
-utf8_slovenian_ci utf8
-utf8_spanish2_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_unicode_ci utf8
-# Switch to connection default + disconnect con
-DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_3.result b/mysql-test/suite/funcs_1/r/charset_collation_3.result
deleted file mode 100644
index b9a2dbe8a98..00000000000
--- a/mysql-test/suite/funcs_1/r/charset_collation_3.result
+++ /dev/null
@@ -1,309 +0,0 @@
-DROP USER dbdict_test@localhost;
-CREATE USER dbdict_test@localhost;
-# Establish connection con (user=dbdict_test)
-
-SELECT *
-FROM information_schema.character_sets
-ORDER BY character_set_name;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-ascii ascii_general_ci US ASCII 1
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-binary binary Binary pseudo charset 1
-cp1250 cp1250_general_ci Windows Central European 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-cp850 cp850_general_ci DOS West European 1
-cp852 cp852_general_ci DOS Central European 1
-cp866 cp866_general_ci DOS Russian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-dec8 dec8_swedish_ci DEC West European 1
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-euckr euckr_korean_ci EUC-KR Korean 2
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-greek greek_general_ci ISO 8859-7 Greek 1
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-hp8 hp8_english_ci HP West European 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-swe7 swe7_swedish_ci 7bit Swedish 1
-tis620 tis620_thai_ci TIS620 Thai 1
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-ujis ujis_japanese_ci EUC-JP Japanese 3
-utf8 utf8_general_ci UTF-8 Unicode 3
-
-SELECT *
-FROM information_schema.collations
-ORDER BY collation_name;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-armscii8_bin armscii8 64 Yes 1
-armscii8_general_ci armscii8 32 Yes Yes 1
-ascii_bin ascii 65 Yes 1
-ascii_general_ci ascii 11 Yes Yes 1
-big5_bin big5 84 Yes 1
-big5_chinese_ci big5 1 Yes Yes 1
-binary binary 63 Yes Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1251_bin cp1251 50 Yes 1
-cp1251_bulgarian_ci cp1251 14 Yes 1
-cp1251_general_ci cp1251 51 Yes Yes 1
-cp1251_general_cs cp1251 52 Yes 1
-cp1251_ukrainian_ci cp1251 23 Yes 1
-cp1256_bin cp1256 67 Yes 1
-cp1256_general_ci cp1256 57 Yes Yes 1
-cp1257_bin cp1257 58 Yes 1
-cp1257_general_ci cp1257 59 Yes Yes 1
-cp1257_lithuanian_ci cp1257 29 Yes 1
-cp850_bin cp850 80 Yes 1
-cp850_general_ci cp850 4 Yes Yes 1
-cp852_bin cp852 81 Yes 1
-cp852_general_ci cp852 40 Yes Yes 1
-cp866_bin cp866 68 Yes 1
-cp866_general_ci cp866 36 Yes Yes 1
-cp932_bin cp932 96 Yes 1
-cp932_japanese_ci cp932 95 Yes Yes 1
-dec8_bin dec8 69 Yes 1
-dec8_swedish_ci dec8 3 Yes Yes 1
-eucjpms_bin eucjpms 98 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-geostd8_bin geostd8 93 Yes 1
-geostd8_general_ci geostd8 92 Yes Yes 1
-greek_bin greek 70 Yes 1
-greek_general_ci greek 25 Yes Yes 1
-hebrew_bin hebrew 71 Yes 1
-hebrew_general_ci hebrew 16 Yes Yes 1
-hp8_bin hp8 72 Yes 1
-hp8_english_ci hp8 6 Yes Yes 1
-keybcs2_bin keybcs2 73 Yes 1
-keybcs2_general_ci keybcs2 37 Yes Yes 1
-koi8r_bin koi8r 74 Yes 1
-koi8r_general_ci koi8r 7 Yes Yes 1
-koi8u_bin koi8u 75 Yes 1
-koi8u_general_ci koi8u 22 Yes Yes 1
-latin1_bin latin1 47 Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_german1_ci latin1 5 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_spanish_ci latin1 94 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin2_bin latin2 77 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin5_bin latin5 78 Yes 1
-latin5_turkish_ci latin5 30 Yes Yes 1
-latin7_bin latin7 79 Yes 1
-latin7_estonian_cs latin7 20 Yes 1
-latin7_general_ci latin7 41 Yes Yes 1
-latin7_general_cs latin7 42 Yes 1
-macce_bin macce 43 Yes 1
-macce_general_ci macce 38 Yes Yes 1
-macroman_bin macroman 53 Yes 1
-macroman_general_ci macroman 39 Yes Yes 1
-sjis_bin sjis 88 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-swe7_bin swe7 82 Yes 1
-swe7_swedish_ci swe7 10 Yes Yes 1
-tis620_bin tis620 89 Yes 1
-tis620_thai_ci tis620 18 Yes Yes 4
-ucs2_bin ucs2 90 Yes 1
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_hungarian_ci ucs2 146 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_unicode_ci ucs2 128 Yes 8
-ujis_bin ujis 91 Yes 1
-ujis_japanese_ci ujis 12 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_hungarian_ci utf8 210 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_unicode_ci utf8 192 Yes 8
-
-
-SELECT *
-FROM information_schema.collation_character_set_applicability
-ORDER BY collation_name, character_set_name;
-COLLATION_NAME CHARACTER_SET_NAME
-armscii8_bin armscii8
-armscii8_general_ci armscii8
-ascii_bin ascii
-ascii_general_ci ascii
-big5_bin big5
-big5_chinese_ci big5
-binary binary
-cp1250_bin cp1250
-cp1250_croatian_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_general_ci cp1250
-cp1251_bin cp1251
-cp1251_bulgarian_ci cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1251_ukrainian_ci cp1251
-cp1256_bin cp1256
-cp1256_general_ci cp1256
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-cp1257_lithuanian_ci cp1257
-cp850_bin cp850
-cp850_general_ci cp850
-cp852_bin cp852
-cp852_general_ci cp852
-cp866_bin cp866
-cp866_general_ci cp866
-cp932_bin cp932
-cp932_japanese_ci cp932
-dec8_bin dec8
-dec8_swedish_ci dec8
-eucjpms_bin eucjpms
-eucjpms_japanese_ci eucjpms
-euckr_bin euckr
-euckr_korean_ci euckr
-gb2312_bin gb2312
-gb2312_chinese_ci gb2312
-gbk_bin gbk
-gbk_chinese_ci gbk
-geostd8_bin geostd8
-geostd8_general_ci geostd8
-greek_bin greek
-greek_general_ci greek
-hebrew_bin hebrew
-hebrew_general_ci hebrew
-hp8_bin hp8
-hp8_english_ci hp8
-keybcs2_bin keybcs2
-keybcs2_general_ci keybcs2
-koi8r_bin koi8r
-koi8r_general_ci koi8r
-koi8u_bin koi8u
-koi8u_general_ci koi8u
-latin1_bin latin1
-latin1_danish_ci latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_german1_ci latin1
-latin1_german2_ci latin1
-latin1_spanish_ci latin1
-latin1_swedish_ci latin1
-latin2_bin latin2
-latin2_croatian_ci latin2
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin5_bin latin5
-latin5_turkish_ci latin5
-latin7_bin latin7
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-macce_bin macce
-macce_general_ci macce
-macroman_bin macroman
-macroman_general_ci macroman
-sjis_bin sjis
-sjis_japanese_ci sjis
-swe7_bin swe7
-swe7_swedish_ci swe7
-tis620_bin tis620
-tis620_thai_ci tis620
-ucs2_bin ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_general_ci ucs2
-ucs2_hungarian_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_unicode_ci ucs2
-ujis_bin ujis
-ujis_japanese_ci ujis
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-utf8_general_ci utf8
-utf8_hungarian_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_lithuanian_ci utf8
-utf8_persian_ci utf8
-utf8_polish_ci utf8
-utf8_romanian_ci utf8
-utf8_roman_ci utf8
-utf8_slovak_ci utf8
-utf8_slovenian_ci utf8
-utf8_spanish2_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_unicode_ci utf8
-# Switch to connection default + disconnect con
-DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/t/charset_collation.test
index ae03996b073..186eb1f5b85 100644
--- a/mysql-test/suite/funcs_1/datadict/charset_collation.inc
+++ b/mysql-test/suite/funcs_1/t/charset_collation.test
@@ -1,58 +1,16 @@
-# suite/funcs_1/datadict/charset_collation.inc
+# suite/funcs_1/t/charset_collation.test
#
# Tests checking the content of the information_schema tables
# character_sets
# collations
# collation_character_set_applicability
#
-#
-# The amount and properties of character_sets/collations depend on the
-# build type
-# 2007-12 MySQL 5.0, 2008-06 MySQL 5.1
-# ---------------------------------------------------------------------
-#
-# Variant 1 fits to
-# version_comment MySQL Enterprise Server (Commercial)
-# version_comment MySQL Enterprise Server (GPL)
-# version_comment MySQL Classic Server (Commercial)
-# version_comment MySQL Pushbuild Edition, build <number>
-# (version_comment Source distribution
-# and
-# compile was without "max" - > no collation 'utf8_general_ci')
-#
-# Variant 2 fits to
-# version_comment MySQL Enterprise Server (GPL)
-# version_comment MySQL Classic Server (Commercial)
-# version_comment MySQL Pushbuild Edition, build <number>
-# (version_comment Source distribution
-# and
-# compile was without "max" - > collation 'utf8_general_ci' exists)
-#
-# Difference between variant 1 and 2 is the collation 'utf8_general_ci'.
-#
-# Variant 3 fits to
-# version_comment MySQL Community Server (GPL)
-# version_comment MySQL Cluster Server (Commercial)
-# version_comment MySQL Advanced Server (GPL) 5.1
-# version_comment MySQL Advanced Server (Commercial) 5.1
-#
-# Difference between variant 3 and 2 is within the collation properties
-# IS_COMPILED and SORTLEN.
-#
-# 2008-06 All time excluded variant is "vanilla".
-# How to build "vanilla":
-# ./BUILD/autorun.sh
-# ./configure
-# ./make
-# Some properties of "vanilla"
-# version_comment Source distribution
-# Compared to the variants 1 to 3 a lot of character sets are missing.
-# Example: "ucs2_bin" is in variant 1 to 3 but not in "vanilla".
-#
# Created:
-# 2007-12-18 mleich - remove the unstable character_set/collation subtests
-# from include/datadict-master.inc
-# - create this new test
+# 2009-04-28 mleich Replace the charset_collation_* test which failed too often
+# because of changes
+# - in general available character sets and collations
+# - in build types
+# (Bug#40545, Bug#40209, Bug#40618, Bug#38346)
#
# Create a low privileged user.
@@ -61,7 +19,6 @@ DROP USER dbdict_test@localhost;
CREATE USER dbdict_test@localhost;
--echo # Establish connection con (user=dbdict_test)
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (con,localhost,dbdict_test,,);
################################################################################
#
@@ -97,32 +54,48 @@ connect (con,localhost,dbdict_test,,);
# combinations for which the current user and PUBLIC have no
# USAGE privilege.
#
-# Notes (2007-12-19 mleich):
+# Notes (2009-04-28 mleich):
# - The requirements are outdated because grant/revoke privilege for using a
# characterset/collation were never implemented.
-# Therefore the tests should simply check the content of these tables.
-#
+# Therefore the tests focus on the completeness and correctness of the
+# content (rows and columns) of these tables.
# - The amount of collations/character sets grows with new MySQL releases.
-#
-# - Even within the same release the amount of records within these tables
+# Even within the same release the amount of records within these tables
# can differ between different build types (community, enterprise, source,...)
-#
+# Therefore we limit the queries to character sets and collations which
+# - exist in all build types
+# - have in all build types the same "state".
+# The character set
+# - utf8 is used for Metadata
+# - ascii is a quite usual
+# The collations <character set>_general_ci and <character set>_bin seem
+# to be available all time.
#
################################################################################
+
+let $char_set_condition= character_set_name IN ('utf8','latin1','binary');
+let $collation_condition=
+ (collation_name LIKE CONCAT(character_set_name,'_general_ci')
+ OR
+ collation_name LIKE CONCAT(character_set_name,'_bin'));
--echo
-SELECT *
+eval SELECT *
FROM information_schema.character_sets
+WHERE $char_set_condition
ORDER BY character_set_name;
--echo
-SELECT *
+eval SELECT *
FROM information_schema.collations
+WHERE $char_set_condition
+ AND $collation_condition
ORDER BY collation_name;
-echo;
--echo
-SELECT *
+eval SELECT *
FROM information_schema.collation_character_set_applicability
+WHERE $char_set_condition
+ AND $collation_condition
ORDER BY collation_name, character_set_name;
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_1.test b/mysql-test/suite/funcs_1/t/charset_collation_1.test
deleted file mode 100644
index 15777062a72..00000000000
--- a/mysql-test/suite/funcs_1/t/charset_collation_1.test
+++ /dev/null
@@ -1,32 +0,0 @@
-# Tests checking the content of the information_schema tables
-# character_sets
-# collations
-# collation_character_set_applicability
-#
-# Content variant 1 which should fit to
-# Enterprise or Classic builds (binaries provided by MySQL)
-# Pushbuilds
-# Source builds without "max"
-#
-# Please read suite/funcs_1/datadict/charset_collation.inc for
-# additional information.
-#
-# Created:
-# 2007-12-18 mleich - remove the unstable character_set/collation subtests
-# from include/datadict-master.inc
-# - create this new test
-#
-
-if (`SELECT EXISTS (SELECT 1 FROM information_schema.collations
- WHERE collation_name = 'utf8_general_cs')
- OR ( @@version_comment NOT LIKE '%Source%'
- AND @@version_comment NOT LIKE '%Enterprise%'
- AND @@version_comment NOT LIKE '%Classic%'
- AND @@version_comment NOT LIKE '%Pushbuild%')
- OR (SELECT count(*) = 0 FROM information_schema.collations
- WHERE collation_name = 'ucs2_bin')`)
-{
- skip Test needs Enterprise, Classic , regular Pushbuild or Source-without-max build;
-}
-
---source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_2.test b/mysql-test/suite/funcs_1/t/charset_collation_2.test
deleted file mode 100644
index d4924953b7d..00000000000
--- a/mysql-test/suite/funcs_1/t/charset_collation_2.test
+++ /dev/null
@@ -1,24 +0,0 @@
-# Tests checking the content of the information_schema tables
-# character_sets
-# collations
-# collation_character_set_applicability
-#
-# Content variant 2 (compile from source with "max")
-#
-# Please read suite/funcs_1/datadict/charset_collation.inc for
-# additional information.
-#
-# Created:
-# 2007-12-18 mleich - remove the unstable character_set/collation subtests
-# from include/datadict-master.inc
-# - create this new test
-#
-
-if (`SELECT @@version_comment NOT LIKE '%Source%'
- OR NOT EXISTS (SELECT 1 FROM information_schema.collations
- WHERE collation_name = 'utf8_general_cs')`)
-{
- skip Test needs Source build with "max";
-}
-
---source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_3.test b/mysql-test/suite/funcs_1/t/charset_collation_3.test
deleted file mode 100644
index e88b44e4a0f..00000000000
--- a/mysql-test/suite/funcs_1/t/charset_collation_3.test
+++ /dev/null
@@ -1,25 +0,0 @@
-# Tests checking the content of the information_schema tables
-# character_sets
-# collations
-# collation_character_set_applicability
-#
-# Content variant 3 which should fit to
-# Community and Cluster builds (binaries provided by MySQL)
-#
-# Please read suite/funcs_1/datadict/charset_collation.inc for
-# additional information.
-#
-# Created:
-# 2007-12-18 mleich - remove the unstable character_set/collation subtests
-# from include/datadict-master.inc
-# - create this new test
-#
-
-if (`SELECT @@version_comment NOT LIKE '%Community%'
- AND @@version_comment NOT LIKE '%Cluster%'
- AND @@version_comment NOT LIKE '%Advanced%'`)
-{
- skip Test needs Community, Cluster or Advanced build;
-}
-
---source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/t/bug46080-master.opt b/mysql-test/t/bug46080-master.opt
new file mode 100644
index 00000000000..f59740afe60
--- /dev/null
+++ b/mysql-test/t/bug46080-master.opt
@@ -0,0 +1 @@
+--skip-grant-tables --skip-name-resolve --safemalloc-mem-limit=4000000
diff --git a/mysql-test/t/bug46080.test b/mysql-test/t/bug46080.test
new file mode 100644
index 00000000000..7e56e3ce421
--- /dev/null
+++ b/mysql-test/t/bug46080.test
@@ -0,0 +1,22 @@
+--echo #
+--echo # Bug #46080: group_concat(... order by) crashes server when
+--echo # sort_buffer_size cannot allocate
+--echo #
+
+CREATE TABLE t1(a CHAR(255));
+INSERT INTO t1 VALUES ('a');
+
+SET @@SESSION.sort_buffer_size=5*16*1000000;
+SET @@SESSION.max_heap_table_size=5*1000000;
+
+--echo # Must not crash.
+--disable_result_log
+--error 0,5
+SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a;
+--enable_result_log
+
+DROP TABLE t1;
+SET @@SESSION.sort_buffer_size=default;
+SET @@SESSION.max_heap_table_size=default;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def
index da7b4f70a46..062667c249e 100644
--- a/mysql-test/t/disabled.def
+++ b/mysql-test/t/disabled.def
@@ -18,3 +18,10 @@ im_options_unset : Bug#20294: Instance manager tests fail randomly
im_utils : Bug#20294: Instance manager tests fail randomly
rpl_log_pos : Bug#8693 Test 'rpl_log_pos' fails sometimes
kill : Bug#29149 Test "kill" fails on Windows
+ps_7ndb : Bug#38315 "Cluster Failure" in ps_7ndb
+strict_autoinc_5ndb : Bug#35148 "Error '4009 Cluster Failure' in various tests on various platforms"
+rpl_slave_skip : Bug#45521: rpl_slave_skip fails in pb2
+loaddata_autocom_ndb : Bug#35148: Error '4009 Cluster Failure' in various tests on various platforms
+ndb_autodiscover3 : Bug#35148: Error '4009 Cluster Failure' in various tests on various platforms
+ndb_autodiscover : Bug#45972: ndb.ndb_autodiscover fails occasionally with pb2
+ndb_autodiscover2 : Bug#45972: ndb.ndb_autodiscover fails occasionally with pb2
diff --git a/mysql-test/t/func_compress.test b/mysql-test/t/func_compress.test
index c84f22c5595..2ee222c6a10 100644
--- a/mysql-test/t/func_compress.test
+++ b/mysql-test/t/func_compress.test
@@ -43,8 +43,10 @@ drop table t1;
# note that when LOW_MEMORY is set the "test" below is meaningless
#
-set @@max_allowed_packet=1048576*100;
+set @@global.max_allowed_packet=1048576*100;
--replace_result "''" XXX "'1'" XXX
+# reconnect to make the new max packet size take effect
+--connect (newconn, localhost, root,,)
eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null;
#
diff --git a/mysql-test/t/innodb_bug40565.test b/mysql-test/t/innodb_bug40565.test
new file mode 100644
index 00000000000..d7aa0fd514a
--- /dev/null
+++ b/mysql-test/t/innodb_bug40565.test
@@ -0,0 +1,10 @@
+# Bug #40565 Update Query Results in "1 Row Affected" But Should Be "Zero Rows"
+-- source include/have_innodb.inc
+
+create table bug40565(value decimal(4,2)) engine=innodb;
+insert into bug40565 values (1), (null);
+--enable_info
+update bug40565 set value=NULL;
+update bug40565 set value=NULL;
+--disable_info
+drop table bug40565;
diff --git a/mysql-test/t/lock_multi_bug38499.test b/mysql-test/t/lock_multi_bug38499.test
index 8178987e802..def58187ced 100644
--- a/mysql-test/t/lock_multi_bug38499.test
+++ b/mysql-test/t/lock_multi_bug38499.test
@@ -1,6 +1,7 @@
# Bug38499 flush tables and multitable table update with derived table cause crash
# MySQL >= 5.0
#
+--source include/big_test.inc
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
diff --git a/mysql-test/t/packet.test b/mysql-test/t/packet.test
index 6210e9986ad..7e08a0f6c3f 100644
--- a/mysql-test/t/packet.test
+++ b/mysql-test/t/packet.test
@@ -15,31 +15,33 @@
set @max_allowed_packet=@@global.max_allowed_packet;
set @net_buffer_length=@@global.net_buffer_length;
-connect (con1,localhost,root,,);
-connection con1;
+
+# setting values below minimum threshold of 1024 will cause truncating
set global max_allowed_packet=100;
-set max_allowed_packet=100;
set global net_buffer_length=100;
-set net_buffer_length=100;
-# Have to be > 1024 as min value of net_buffer_length is 1024
+
+# is not yet in effect
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
-# Should return NULL as 2000 is bigger than max_allowed_packet
select repeat('a',2000);
-connection default;
-disconnect con1;
#
-# Connection 2 should get error for too big packets
+# Connection 1 should get error for too big packets
#
-connect (con2,localhost,root,,);
-connection con2;
+connect (con1,localhost,root,,);
+connection con1;
select @@net_buffer_length, @@max_allowed_packet;
--error ER_NET_PACKET_TOO_LARGE
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
+connection default;
+disconnect con1;
+
+#
+# Reset to default values and reconnect
+#
set global max_allowed_packet=default;
-set max_allowed_packet=default;
set global net_buffer_length=default;
-set net_buffer_length=default;
+connect (con2,localhost,root,,);
+connection con2;
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
select length(repeat('a',2000));
connection default;
diff --git a/mysql-test/t/rpl_sp.test b/mysql-test/t/rpl_sp.test
index f045257d279..6ac6729e662 100644
--- a/mysql-test/t/rpl_sp.test
+++ b/mysql-test/t/rpl_sp.test
@@ -7,6 +7,9 @@
# accepted). The old name could be removed in 5.1 or 6.0.
source include/master-slave.inc;
+# Save the current value and restore at end of testing
+let $log_bin_trust_function_creators=
+ `SELECT @@global.log_bin_trust_function_creators`;
# we need a db != test, where we don't have automatic grants
--disable_warnings
@@ -629,3 +632,10 @@ use test;
drop procedure mysqltestbug36570_p1;
drop procedure ` mysqltestbug36570_p2`;
drop function mysqltestbug36570_f1;
+
+# Cleanup
+sync_slave_with_master;
+# Restore the initial value of log_bin_trust_function_creators
+eval
+set global log_bin_trust_function_creators = $log_bin_trust_function_creators;
+
diff --git a/mysql-test/t/sp-fib.test b/mysql-test/t/sp-fib.test
index e6682395a2c..24a51b99c2d 100644
--- a/mysql-test/t/sp-fib.test
+++ b/mysql-test/t/sp-fib.test
@@ -22,13 +22,14 @@ begin
begin
declare x, y bigint unsigned;
declare c cursor for select f from t3 order by f desc limit 2;
-
open c;
fetch c into y;
fetch c into x;
- close c;
insert into t3 values (x+y);
call fib(n-1);
+ ## Close the cursor AFTER the recursion to ensure that the stack
+ ## frame is somewhat intact.
+ close c;
end;
end if;
end|
@@ -36,24 +37,17 @@ end|
# Enable recursion
set @@max_sp_recursion_depth= 20|
-# Minimum test: recursion of 3 levels
-
insert into t3 values (0), (1)|
-call fib(3)|
+# The small number of recursion levels is intentional.
+# We need to avoid
+# Bug#15866 main.sp fails (thread stack limit
+# insufficient for recursive call "fib(20)")
+# which affects some platforms.
+call fib(4)|
select * from t3 order by f asc|
-delete from t3|
-
-# The original test, 20 levels, ran into memory limits on some machines
-# and builds. Try 10 instead...
-
-insert into t3 values (0), (1)|
-
-call fib(10)|
-
-select * from t3 order by f asc|
drop table t3|
drop procedure fib|
set @@max_sp_recursion_depth= 0|
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index 424776dfda4..91f75cf6cd4 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -131,17 +131,22 @@ show global variables like 'myisam_max_sort_file_size';
set global net_retry_count=10, session net_retry_count=10;
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
-set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
+set session net_write_timeout=500, net_read_timeout=600;
show global variables like 'net_%';
show session variables like 'net_%';
-set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
+set global net_buffer_length=8000, net_read_timeout=900, net_write_timeout=1000;
show global variables like 'net_%';
show session variables like 'net_%';
-set net_buffer_length=1;
-show variables like 'net_buffer_length';
+set global net_buffer_length=1;
+show global variables like 'net_buffer_length';
#warning 1292
-set net_buffer_length=2000000000;
-show variables like 'net_buffer_length';
+set global net_buffer_length=2000000000;
+show global variables like 'net_buffer_length';
+
+--error ER_UNKNOWN_ERROR
+set session net_buffer_length=1024;
+--error ER_UNKNOWN_ERROR
+set session max_allowed_packet=1024;
set character set cp1251_koi8;
show variables like "character_set_client";
@@ -272,7 +277,7 @@ set last_insert_id=1;
set global local_infile=1;
set long_query_time=100;
set low_priority_updates=1;
-set max_allowed_packet=100;
+set global max_allowed_packet=100;
set global max_binlog_cache_size=100;
set global max_binlog_size=100;
set global max_connect_errors=100;
@@ -286,7 +291,7 @@ set global max_user_connections=100;
select @@max_user_connections;
set global max_write_lock_count=100;
set myisam_sort_buffer_size=100;
-set net_buffer_length=100;
+set global net_buffer_length=100;
set net_read_timeout=100;
set net_write_timeout=100;
set global query_cache_limit=100;
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index 89e68e4bd99..6f03ff12448 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -3703,6 +3703,38 @@ DROP TABLE t1;
--echo # -- End of test case for Bug#40825
--echo
+--echo #
+--echo # Bug #45806 crash when replacing into a view with a join!
+--echo #
+CREATE TABLE t1(a INT UNIQUE);
+CREATE VIEW v1 AS SELECT t1.a FROM t1, t1 AS a;
+INSERT INTO t1 VALUES (1), (2);
+
+REPLACE INTO v1(a) SELECT 1 FROM t1,t1 AS c;
+SELECT * FROM v1;
+REPLACE INTO v1(a) SELECT 3 FROM t1,t1 AS c;
+SELECT * FROM v1;
+DELETE FROM t1 WHERE a=3;
+INSERT INTO v1(a) SELECT 1 FROM t1,t1 AS c
+ON DUPLICATE KEY UPDATE `v1`.`a`= 1;
+SELECT * FROM v1;
+
+CREATE VIEW v2 AS SELECT t1.a FROM t1, v1 AS a;
+
+REPLACE INTO v2(a) SELECT 1 FROM t1,t1 AS c;
+SELECT * FROM v2;
+REPLACE INTO v2(a) SELECT 3 FROM t1,t1 AS c;
+SELECT * FROM v2;
+INSERT INTO v2(a) SELECT 1 FROM t1,t1 AS c
+ON DUPLICATE KEY UPDATE `v2`.`a`= 1;
+SELECT * FROM v2;
+
+DROP VIEW v1;
+DROP VIEW v2;
+DROP TABLE t1;
+
+--echo # -- End of test case for Bug#45806
+
--echo # -----------------------------------------------------------------
--echo # -- End of 5.0 tests.
--echo # -----------------------------------------------------------------