[Commits] Rev 4018: MDEV-4784 - merge test cases from 5.6 in lp:maria/10.0

Sergey Vojtovich svoj at mariadb.org
Tue Mar 11 11:28:28 EET 2014


At lp:maria/10.0

------------------------------------------------------------
revno: 4018
revision-id: svoj at mariadb.org-20140311092816-qwkldg726yvqobip
parent: sergii at pisem.net-20140228200458-2nzjwfzn554m5aja
committer: Sergey Vojtovich <svoj at mariadb.org>
branch nick: 10.0-mdev5242
timestamp: Tue 2014-03-11 13:28:16 +0400
message:
  MDEV-4784 - merge test cases from 5.6
=== added file 'mysql-test/include/have_daemon_example_plugin.inc'
--- a/mysql-test/include/have_daemon_example_plugin.inc	1970-01-01 00:00:00 +0000
+++ b/mysql-test/include/have_daemon_example_plugin.inc	2014-03-11 09:28:16 +0000
@@ -0,0 +1,16 @@
+disable_query_log;
+#
+# Check if server has support for loading plugins
+#
+if (`SELECT @@have_dynamic_loading != 'YES'`) {
+  --skip daemon example plugin requires dynamic loading
+}
+
+#
+# Check if the variable DAEMONEXAMPLE is set
+#
+if (!$LIBDAEMON_EXAMPLE_SO) {
+  --skip daemon_example plugin requires the environment variable \$DAEMONEXAMPLE to be set (normally done by mtr)
+}
+
+enable_query_log;

=== added file 'mysql-test/include/ib_logfile_size_check.inc'
--- a/mysql-test/include/ib_logfile_size_check.inc	1970-01-01 00:00:00 +0000
+++ b/mysql-test/include/ib_logfile_size_check.inc	2014-03-11 09:28:16 +0000
@@ -0,0 +1,14 @@
+perl;
+ my $dir = $ENV{'MYSQLD_DATADIR'};
+ my $size;
+ opendir(DIR, $dir) or die $!;
+ while (my $file = readdir(DIR)) 
+ {
+ 
+   next unless ($file =~ m/\ib_logfile.$/);
+   $size = -s "$dir/$file";
+   print "The size of the ib_logfile(0/1): $size \n"; 
+ }
+ close(DIR);
+ exit(0)
+EOF

=== added file 'mysql-test/include/vardir_size_check.inc'
--- a/mysql-test/include/vardir_size_check.inc	1970-01-01 00:00:00 +0000
+++ b/mysql-test/include/vardir_size_check.inc	2014-03-11 09:28:16 +0000
@@ -0,0 +1,26 @@
+--echo Check the size of the vardir
+--echo The output size is in unit blocks
+perl;
+#!/usr/bin/perl
+use warnings;
+use strict;
+use File::Find;
+my $dir = $ENV{'MYSQLTEST_VARDIR'};
+my $size = 0;
+find( sub { $size += -f $_ ? -s _ : 0 }, $dir );
+
+if ( $size < 1717987000 )
+        { print "TRUE", "\n";}
+else   
+        { print "FALSE $size", "\n";}
+
+
+## Expected size for the VAR dir being changed for the PB2 runs
+
+##if ( $size =~ /^496[\d]{5}$/ )
+##	{  
+##               { print "TRUE", "\n";}
+##        }
+##else
+##	{ print "FALSE $size", "\n";}
+EOF

=== added file 'mysql-test/r/bug12969156.result'
--- a/mysql-test/r/bug12969156.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/bug12969156.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,24 @@
+#
+# Bug #12969156 : SEGMENTATION FAULT ON UNINSTALLING
+#  DAEMON_EXAMPLE PLUGIN
+#
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;
+INSTALL PLUGIN daemon_example SONAME 'DAEMONEXAMPLE';
+UNINSTALL PLUGIN daemon_example;

=== added file 'mysql-test/r/bug33509.result'
--- a/mysql-test/r/bug33509.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/bug33509.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,76 @@
+create table t1 (a int not null);
+drop procedure if exists p1|
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION select a from t1;
+prepare s1 from '
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( select a from t1) 
+  )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))';
+execute s1;
+END;
+|
+call p1();
+a
+drop procedure p1;
+drop table t1;

=== added file 'mysql-test/r/bug46080.result'
--- a/mysql-test/r/bug46080.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/bug46080.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,18 @@
+#
+# Bug #46080: group_concat(... order by) crashes server when
+#  sort_buffer_size cannot allocate
+#
+call mtr.add_suppression("Out of memory at line .*, '.*my_alloc.c'");
+call mtr.add_suppression("needed .* byte (.*k)., memory in use: .* bytes (.*k)");
+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;
+Warnings:
+Warning	1292	Truncated incorrect max_heap_table_size value: '5000000'
+# 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

=== modified file 'mysql-test/r/delayed.result'
--- a/mysql-test/r/delayed.result	2011-07-02 20:08:51 +0000
+++ b/mysql-test/r/delayed.result	2014-03-11 09:28:16 +0000
@@ -466,3 +466,12 @@ commit;
 # Reaping ALTER TABLE:
 # Connection 'default'.
 drop tables tm, t1, t2;
+#
+# Bug#13259227 ASSERTION TABLES->TABLE->POS_IN_TABLE_LIST
+#              == TABLES FAILED IN SQL_BASE.CC:4668
+#
+DROP TABLE IF EXISTS t1;
+CREATE TEMPORARY TABLE t1(a int);
+INSERT DELAYED t1 VALUES (1);
+ERROR 42S02: Table 'test.t1' doesn't exist
+DROP TEMPORARY TABLE t1;

=== added file 'mysql-test/r/ds_mrr-big.result'
--- a/mysql-test/r/ds_mrr-big.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/ds_mrr-big.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,78 @@
+#
+# Bug 12365385 STRAIGHT_JOIN QUERY QUICKLY EXHAUSTS SYSTEM+VIRT. 
+#              MEMORY LEADING TO SYSTEM CRASH
+#
+CREATE TABLE ten (a INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE hundred (a INTEGER);
+INSERT INTO hundred
+SELECT a1.a + 10 * a2.a FROM ten a1, ten a2;
+CREATE TABLE thousand (a INTEGER);
+INSERT INTO thousand
+SELECT a1.a + 10 * a2.a + 100 * a3.a FROM ten a1, ten a2, ten a3;
+CREATE TABLE t1 (
+pk INTEGER NOT NULL,
+i1 INTEGER NOT NULL,
+c1 VARCHAR(10) NOT NULL,
+PRIMARY KEY (pk)
+);
+INSERT INTO t1
+SELECT a, 1, 'MySQL' FROM thousand;
+CREATE TABLE t2 (
+pk INTEGER NOT NULL,
+c1 VARCHAR(10) NOT NULL,
+c2 varchar(10) NOT NULL,
+PRIMARY KEY (pk)
+);
+INSERT INTO t2
+SELECT a, 'MySQL', 'MySQL' FROM ten;
+CREATE TABLE t3 (
+pk INTEGER NOT NULL,
+c1 VARCHAR(10) NOT NULL,
+PRIMARY KEY (pk)
+);
+INSERT INTO t3
+SELECT a, 'MySQL' FROM hundred;
+CREATE TABLE t4 (
+pk int(11) NOT NULL,
+c1_key varchar(10) CHARACTER SET utf8 NOT NULL,
+c2 varchar(10) NOT NULL,
+c3 varchar(10) NOT NULL,
+PRIMARY KEY (pk),
+KEY k1 (c1_key)
+);
+CREATE TABLE t5 (
+pk INTEGER NOT NULL,
+c1 VARCHAR(10) NOT NULL,
+PRIMARY KEY (pk)
+);
+INSERT INTO t5
+SELECT a, 'MySQL' FROM ten;
+set optimizer_switch=`mrr=on,mrr_cost_based=off`;
+EXPLAIN SELECT STRAIGHT_JOIN *
+FROM 
+(t1 LEFT JOIN 
+(t2 LEFT JOIN
+(t3 LEFT OUTER JOIN t4 ON t3.c1 <= t4.c1_key)
+ON t2.c1 = t4.c3) 
+ON t1.c1 = t4.c2)
+RIGHT OUTER JOIN t5 ON t2.c2 <= t5.c1
+WHERE t1.i1 = 1;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t5	ALL	NULL	NULL	NULL	NULL	10	
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	1000	Using where; Using join buffer (flat, BNL join)
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	10	Using where; Using join buffer (incremental, BNL join)
+1	SIMPLE	t3	ALL	NULL	NULL	NULL	NULL	100	Using join buffer (incremental, BNL join)
+1	SIMPLE	t4	ALL	k1	NULL	NULL	NULL	0	Range checked for each record (index map: 0x2)
+SELECT STRAIGHT_JOIN *
+FROM 
+(t1 LEFT JOIN 
+(t2 LEFT JOIN
+(t3 LEFT OUTER JOIN t4 ON t3.c1 <= t4.c1_key)
+ON t2.c1 = t4.c3) 
+ON t1.c1 = t4.c2)
+RIGHT OUTER JOIN t5 ON t2.c2 <= t5.c1
+WHERE t1.i1 = 1;
+pk	i1	c1	pk	c1	c2	pk	c1	pk	c1_key	c2	c3	pk	c1
+DROP TABLE ten, hundred, thousand;
+DROP TABLE t1, t2, t3, t4, t5;

=== added file 'mysql-test/r/fulltext_plugin.result'
--- a/mysql-test/r/fulltext_plugin.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/fulltext_plugin.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,5 @@
+INSTALL PLUGIN simple_parser SONAME 'mypluglib';
+CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser);
+ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
+DROP TABLE t1;
+UNINSTALL PLUGIN simple_parser;

=== modified file 'mysql-test/r/func_crypt.result'
--- a/mysql-test/r/func_crypt.result	2013-09-14 01:09:36 +0000
+++ b/mysql-test/r/func_crypt.result	2014-03-11 09:28:16 +0000
@@ -106,3 +106,18 @@ OLD_PASSWORD(c1)	PASSWORD(c1)
 77023ffe214c04ff	*82E58A2C08AAFE72C8EB523069CD8ADB33F78F58
 DROP TABLE t1;
 End of 5.0 tests
+#
+# Start of 5.6 tests
+#
+#
+# Bug#13812875 ILLEGAL MIX OF COLLATIONS WITH FUNCTIONS THAT USED TO WORK
+#
+SET NAMES utf8;
+CREATE TABLE t1 (a varchar(1));
+SELECT * FROM t1 WHERE a=password('a');
+a
+DROP TABLE t1;
+SET NAMES latin1;
+#
+# End of 5.6 tests
+#

=== modified file 'mysql-test/r/func_digest.result'
--- a/mysql-test/r/func_digest.result	2010-07-07 06:38:11 +0000
+++ b/mysql-test/r/func_digest.result	2014-03-11 09:28:16 +0000
@@ -1426,3 +1426,14 @@ Catalog	Database	Table	Table_alias	Colum
 def					sha2('1',224)	253	56	56	Y	0	31	8
 sha2('1',224)
 e25388fde8290dc286a6164fa2d97e551b53498dcbf7bc378eb1f178
+#
+# Bug#13812875 ILLEGAL MIX OF COLLATIONS WITH FUNCTIONS THAT USED TO WORK
+#
+SET NAMES utf8;
+CREATE TABLE t1 (a varchar(1));
+SELECT * FROM t1 WHERE a=sha1('a');
+a
+SELECT * FROM t1 WHERE a=sha2('a',224);
+a
+DROP TABLE t1;
+SET NAMES latin1;

=== added file 'mysql-test/r/innodb_log_file_size_functionality.result'
--- a/mysql-test/r/innodb_log_file_size_functionality.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/innodb_log_file_size_functionality.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,73 @@
+'#________________________VAR_09_INNODB_LOG_FILE_SIZE__________________#'
+echo '##'
+--echo '#---------------------WL6372_VAR_9_01----------------------#'
+####################################################################
+#   Checking default value                                         #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_log_file_size)
+1 Expected
+SELECT @@GLOBAL.innodb_log_file_size;
+@@GLOBAL.innodb_log_file_size
+5242880
+5242880 Expected
+'#---------------------WL6372_VAR_9_02----------------------#'
+SET @@local.innodb_log_file_size=1;
+ERROR HY000: Variable 'innodb_log_file_size' is a read only variable
+Expected error 'Read only variable'
+SET @@session.innodb_log_file_size=1;
+ERROR HY000: Variable 'innodb_log_file_size' is a read only variable
+Expected error 'Read only variable'
+SET @@GLOBAL.innodb_log_file_size=1;
+ERROR HY000: Variable 'innodb_log_file_size' is a read only variable
+Expected error 'Read only variable'
+SET @@GLOBAL.innodb_log_file_size=DEFAULT;
+ERROR HY000: Variable 'innodb_log_file_size' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+COUNT(@@GLOBAL.innodb_log_file_size)
+1
+1 Expected
+'#---------------------WL6372_VAR_9_03----------------------#'
+SELECT @@GLOBAL.innodb_log_file_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_file_size';
+@@GLOBAL.innodb_log_file_size = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+COUNT(@@GLOBAL.innodb_log_file_size)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
+WHERE VARIABLE_NAME='innodb_log_file_size';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------WL6372_VAR_9_04----------------------#'
+SELECT @@innodb_log_file_size = @@GLOBAL.innodb_log_file_size;
+@@innodb_log_file_size = @@GLOBAL.innodb_log_file_size
+1
+1 Expected
+SELECT COUNT(@@local.innodb_log_file_size);
+ERROR HY000: Variable 'innodb_log_file_size' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_log_file_size);
+ERROR HY000: Variable 'innodb_log_file_size' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+COUNT(@@GLOBAL.innodb_log_file_size)
+1
+1 Expected
+SELECT innodb_log_file_size = @@SESSION.innodb_log_file_size;
+ERROR 42S22: Unknown column 'innodb_log_file_size' in 'field list'
+Expected error 'Unknown column innodb_log_file_size in field list'
+'#---------------------WL6372_VAR_9_05----------------------#'
+Check the size of the vardir
+The output size is in unit blocks
+TRUE
+TRUE Expected
+'#---------------------WL6372_VAR_9_06----------------------#'
+The size of the ib_logfile(0/1): 5242880 
+The size of the ib_logfile(0/1): 5242880 
+5242880 expected

=== modified file 'mysql-test/r/partition_hash.result'
--- a/mysql-test/r/partition_hash.result	2011-10-19 19:45:18 +0000
+++ b/mysql-test/r/partition_hash.result	2014-03-11 09:28:16 +0000
@@ -1,4 +1,58 @@
 drop table if exists t1;
+#
+# Bug#12725206/Bug#61765: WRONG QUERY RESULTS ON SUBPARTITIONS BASED
+#                         ON USIGNED BIGINT
+#
+CREATE TABLE t1 (
+a int(11) NOT NULL,
+b bigint(20) UNSIGNED NOT NULL
+)
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH (b)
+SUBPARTITIONS 3
+(PARTITION p1 VALUES LESS THAN (1308614400),
+PARTITION p2 VALUES LESS THAN (1308700800),
+PARTITION p3 VALUES LESS THAN (1308787200),
+PARTITION p4 VALUES LESS THAN (1308873600),
+PARTITION p5 VALUES LESS THAN (1308960000)
+);
+INSERT INTO t1 VALUES
+(1308614400,18446744073709551615),
+(1308700800,0xFFFFFFFFFFFFFFFE),
+(1308787200,18446744073709551613),
+(1308873600,18446744073709551612),
+(1308873600, 12531568256096620965),
+(1308873600, 12531568256096),
+(1308873600, 9223372036854775808);
+SELECT a,b,HEX(b) FROM t1 ORDER BY a, b;
+a	b	HEX(b)
+1308614400	18446744073709551615	FFFFFFFFFFFFFFFF
+1308700800	18446744073709551614	FFFFFFFFFFFFFFFE
+1308787200	18446744073709551613	FFFFFFFFFFFFFFFD
+1308873600	12531568256096	B65BBACA460
+1308873600	9223372036854775808	8000000000000000
+1308873600	12531568256096620965	ADE912EF0F3351A5
+1308873600	18446744073709551612	FFFFFFFFFFFFFFFC
+# The following queries returned nothing
+SELECT * FROM t1 WHERE b = 9223372036854775808;
+a	b
+1308873600	9223372036854775808
+SELECT * FROM t1 WHERE b = 18446744073709551612;
+a	b
+1308873600	18446744073709551612
+SELECT * FROM t1 WHERE b = 18446744073709551615;
+a	b
+1308614400	18446744073709551615
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 9223372036854775808;
+id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	p1_p1sp2,p2_p2sp2,p3_p3sp2,p4_p4sp2,p5_p5sp2	ALL	NULL	NULL	NULL	NULL	3	Using where
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 18446744073709551612;
+id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	p1_p1sp1,p2_p2sp1,p3_p3sp1,p4_p4sp1,p5_p5sp1	ALL	NULL	NULL	NULL	NULL	3	Using where
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 18446744073709551615;
+id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	p1_p1sp1,p2_p2sp1,p3_p3sp1,p4_p4sp1,p5_p5sp1	ALL	NULL	NULL	NULL	NULL	3	Using where
+DROP TABLE t1;
 CREATE TABLE t1 (c1 INT)
 PARTITION BY HASH (c1)
 PARTITIONS 15;

=== modified file 'mysql-test/r/type_newdecimal.result'
--- a/mysql-test/r/type_newdecimal.result	2013-09-14 01:09:36 +0000
+++ b/mysql-test/r/type_newdecimal.result	2014-03-11 09:28:16 +0000
@@ -1988,3 +1988,27 @@ SELECT d1 * d2 FROM t1;
 d1 * d2
 0
 DROP TABLE t1;
+#
+# Start of 5.6 tests
+#
+#
+# Bug#13375823 - FSP(DECIMAL) RESULT DIFFERENCE WITH QUERY USING UNION ALL
+#
+CREATE TABLE t1 (a DECIMAL(20,3) NOT NULL);
+INSERT INTO t1 VALUES (20000716055804.035);
+INSERT INTO t1 VALUES (20080821000000.000);
+INSERT INTO t1 VALUES (0);
+SELECT GREATEST(a, 1323) FROM t1;
+GREATEST(a, 1323)
+20000716055804.035
+20080821000000.000
+1323.000
+(SELECT GREATEST(a, 1323) FROM t1) UNION ALL (SELECT GREATEST(a, 1323) FROM t1 LIMIT 0);
+GREATEST(a, 1323)
+20000716055804.035
+20080821000000.000
+1323.000
+DROP TABLE t1;
+#
+# End of 5.6 tests
+#

=== modified file 'mysql-test/r/wait_timeout.result'
--- a/mysql-test/r/wait_timeout.result	2009-01-23 17:19:09 +0000
+++ b/mysql-test/r/wait_timeout.result	2014-03-11 09:28:16 +0000
@@ -31,3 +31,26 @@ SELECT 3;
 3
 SET @@global.wait_timeout= <start_value>;
 disconnection con1;
+#
+# Bug#54790: Use of non-blocking mode for sockets limits performance
+#
+#
+# Test UNIX domain sockets timeout.
+#
+# Open con1 and set a timeout.
+SET @@SESSION.wait_timeout = 2;
+# Wait for con1 to be disconnected.
+# Check that con1 has been disconnected.
+# CR_SERVER_LOST, CR_SERVER_GONE_ERROR
+SELECT 1;
+Got one of the listed errors
+#
+# Test TCP/IP sockets timeout.
+#
+# Open con1 and set a timeout.
+SET @@SESSION.wait_timeout = 2;
+# Wait for con1 to be disconnected.
+# Check that con1 has been disconnected.
+# CR_SERVER_LOST, CR_SERVER_GONE_ERROR
+SELECT 1;
+Got one of the listed errors

=== added file 'mysql-test/suite/archive/archive_no_symlink-master.opt'
--- a/mysql-test/suite/archive/archive_no_symlink-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/archive/archive_no_symlink-master.opt	2014-03-11 09:28:16 +0000
@@ -0,0 +1 @@
+--skip-symbolic-links

=== added file 'mysql-test/suite/archive/archive_no_symlink.result'
--- a/mysql-test/suite/archive/archive_no_symlink.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/archive/archive_no_symlink.result	2014-03-11 09:28:16 +0000
@@ -0,0 +1,26 @@
+#
+# This test shows that DATA DIRECTORY and INDEX DIRECTORY are
+# ignored where symbolic links are not supported such as Windows.
+#
+CREATE TABLE t1 (
+c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+c2 varchar(30) NOT NULL,
+c3 smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (c1))
+ENGINE = archive
+DATA DIRECTORY = 'MYSQL_TMP_DIR/archive' INDEX DIRECTORY = 'MYSQL_TMP_DIR/archive';
+Warnings:
+Warning	1618	<DATA DIRECTORY> option ignored
+Warning	1618	<INDEX DIRECTORY> option ignored
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+SHOW CREATE TABLE t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `c2` varchar(30) NOT NULL,
+  `c3` smallint(5) unsigned DEFAULT NULL,
+  PRIMARY KEY (`c1`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+DROP TABLE t1;

=== added file 'mysql-test/suite/archive/archive_no_symlink.test'
--- a/mysql-test/suite/archive/archive_no_symlink.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/archive/archive_no_symlink.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,26 @@
+# Test archive engine when symbolic links are not available.
+--source include/have_archive.inc
+
+--echo #
+--echo # This test shows that DATA DIRECTORY and INDEX DIRECTORY are
+--echo # ignored where symbolic links are not supported such as Windows.
+--echo #
+
+let $data_directory = DATA DIRECTORY = '$MYSQL_TMP_DIR/archive';
+let $index_directory = INDEX DIRECTORY = '$MYSQL_TMP_DIR/archive';
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1 (
+  c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+  c2 varchar(30) NOT NULL,
+  c3 smallint(5) unsigned DEFAULT NULL,
+  PRIMARY KEY (c1))
+ENGINE = archive
+$data_directory $index_directory;
+
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+

=== modified file 'mysql-test/suite/heap/heap.result'
--- a/mysql-test/suite/heap/heap.result	2013-09-14 01:09:36 +0000
+++ b/mysql-test/suite/heap/heap.result	2014-03-11 09:28:16 +0000
@@ -701,6 +701,9 @@ insert into t1 values ("abcdefghijklmnop
 insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
 ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 'PRIMARY'
 drop table t1;
+#
+# Bug 12796: Record doesn't show when selecting through index
+#
 CREATE TABLE t1 (a int, key(a)) engine=heap;
 insert into t1 values (0);
 delete from t1;
@@ -758,6 +761,20 @@ SELECT * from t1;
 id	color	ts
 7	GREEN	2
 DROP TABLE t1;
+CREATE TABLE t1 (
+c1 VARCHAR(10) NOT NULL,
+KEY i1 (c1(3))
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
+INSERT INTO t1 VALUES ('foo1'), ('bar2'), ('baz3');
+SELECT * FROM t1 WHERE c1='bar2';
+c1
+bar2
+#should show one tuple!
+SELECT * FROM t1 IGNORE INDEX (i1) WHERE c1='bar2';
+c1
+bar2
+#should show one tuple!
+DROP TABLE t1;
 CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=100;
 insert into t1 values(1);
 select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";

=== modified file 'mysql-test/suite/heap/heap.test'
--- a/mysql-test/suite/heap/heap.test	2013-09-14 01:09:36 +0000
+++ b/mysql-test/suite/heap/heap.test	2014-03-11 09:28:16 +0000
@@ -441,9 +441,9 @@ insert into t1 values ("abcdefghijklmnop
 insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
 drop table t1;
 
-#
-# Bug 12796: Record doesn't show when selecting through index
-#
+--echo #
+--echo # Bug 12796: Record doesn't show when selecting through index
+--echo #
 CREATE TABLE t1 (a int, key(a)) engine=heap;
 insert into t1 values (0);
 delete from t1;
@@ -510,6 +510,21 @@ DELETE FROM t1 WHERE ts = 1 AND color =
 SELECT * from t1;
 DROP TABLE t1;
 
+#
+# BUG 11755870 - 47704: HASH INDEX ON VARCHAR PREFIX NOT WORKING CORRECTLY.
+#
+CREATE TABLE t1 (
+    c1 VARCHAR(10) NOT NULL,
+    KEY i1 (c1(3))
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
+INSERT INTO t1 VALUES ('foo1'), ('bar2'), ('baz3');
+
+SELECT * FROM t1 WHERE c1='bar2';
+--echo #should show one tuple!
+
+SELECT * FROM t1 IGNORE INDEX (i1) WHERE c1='bar2';
+--echo #should show one tuple!
+DROP TABLE t1;
 # End of 5.1 tests
 
 #

=== modified file 'mysql-test/suite/heap/heap_hash.result'
--- a/mysql-test/suite/heap/heap_hash.result	2012-11-22 09:19:31 +0000
+++ b/mysql-test/suite/heap/heap_hash.result	2014-03-11 09:28:16 +0000
@@ -466,4 +466,28 @@ SELECT * FROM t1 WHERE c1='bar2';
 c1
 bar2
 DROP TABLE t1;
+#
+# Bug #44771: Unique Hash index in memory engine will give wrong
+#             query result for NULL value.
+#
+CREATE TABLE t1
+(
+pk INT PRIMARY KEY,
+val INT,
+UNIQUE KEY USING HASH(val)
+) ENGINE=MEMORY;
+INSERT INTO t1 VALUES (1, NULL);
+INSERT INTO t1 VALUES (2, NULL);
+INSERT INTO t1 VALUES (3, NULL);
+INSERT INTO t1 VALUES (4, NULL);
+SELECT * FROM t1 WHERE val IS NULL;
+pk	val
+4	NULL
+3	NULL
+2	NULL
+1	NULL
+EXPLAIN SELECT * FROM t1 WHERE val IS NULL;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	ref	val	val	5	const	1	Using where
+DROP TABLE t1;
 End of 5.5 tests

=== modified file 'mysql-test/suite/heap/heap_hash.test'
--- a/mysql-test/suite/heap/heap_hash.test	2012-11-22 09:19:31 +0000
+++ b/mysql-test/suite/heap/heap_hash.test	2014-03-11 09:28:16 +0000
@@ -346,4 +346,25 @@ explain SELECT * FROM t1 WHERE c1='bar2'
 SELECT * FROM t1 WHERE c1='bar2';
 DROP TABLE t1;
 
+--echo #
+--echo # Bug #44771: Unique Hash index in memory engine will give wrong
+--echo #             query result for NULL value.
+--echo #
+
+CREATE TABLE t1
+(
+   pk INT PRIMARY KEY,
+   val INT,
+   UNIQUE KEY USING HASH(val)
+) ENGINE=MEMORY;
+
+INSERT INTO t1 VALUES (1, NULL);
+INSERT INTO t1 VALUES (2, NULL);
+INSERT INTO t1 VALUES (3, NULL);
+INSERT INTO t1 VALUES (4, NULL);
+
+SELECT * FROM t1 WHERE val IS NULL;
+EXPLAIN SELECT * FROM t1 WHERE val IS NULL;
+DROP TABLE t1;
+
 --echo End of 5.5 tests

=== added file 'mysql-test/t/bug12969156.test'
--- a/mysql-test/t/bug12969156.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/bug12969156.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,18 @@
+--source include/have_daemon_example_plugin.inc
+--source include/not_embedded.inc
+# TODO: the windows emulation of pthreads doesn't behave predictably
+--source include/not_windows.inc
+
+--echo #
+--echo # Bug #12969156 : SEGMENTATION FAULT ON UNINSTALLING
+--echo #  DAEMON_EXAMPLE PLUGIN
+--echo #
+
+let $counter= 0;
+while ($counter < 10)
+{
+--replace_result $LIBDAEMON_EXAMPLE_SO DAEMONEXAMPLE
+  eval INSTALL PLUGIN daemon_example SONAME '$LIBDAEMON_EXAMPLE_SO';
+  UNINSTALL PLUGIN daemon_example;
+  inc $counter;
+}

=== added file 'mysql-test/t/bug33509.test'
--- a/mysql-test/t/bug33509.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/bug33509.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,87 @@
+#
+# BUG#33509: Server crashes with number of recursive subqueries=61
+#  (the query may or may not fail with an error so we're using it with SP 
+#  
+create table t1 (a int not null);
+
+delimiter |;
+
+--disable_warnings
+drop procedure if exists p1|
+--enable_warnings
+CREATE PROCEDURE p1()
+BEGIN
+  DECLARE EXIT HANDLER FOR SQLEXCEPTION select a from t1;
+  prepare s1 from '
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( 
+  select a from t1 where a in ( select a from t1) 
+  )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))';
+  execute s1;
+END;
+|
+delimiter ;|
+
+call p1();
+drop procedure p1;
+drop table t1;
+

=== added file 'mysql-test/t/bug46080-master.opt'
--- a/mysql-test/t/bug46080-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/bug46080-master.opt	2014-03-11 09:28:16 +0000
@@ -0,0 +1 @@
+--loose-performance-schema=0 --skip-grant-tables --skip-name-resolve

=== added file 'mysql-test/t/bug46080.test'
--- a/mysql-test/t/bug46080.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/bug46080.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,27 @@
+--echo #
+--echo # Bug #46080: group_concat(... order by) crashes server when
+--echo #  sort_buffer_size cannot allocate
+--echo #
+
+--source include/have_debug.inc
+
+call mtr.add_suppression("Out of memory at line .*, '.*my_alloc.c'");
+call mtr.add_suppression("needed .* byte (.*k)., memory in use: .* bytes (.*k)");
+
+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

=== modified file 'mysql-test/t/delayed.test'
--- a/mysql-test/t/delayed.test	2011-07-02 20:08:51 +0000
+++ b/mysql-test/t/delayed.test	2014-03-11 09:28:16 +0000
@@ -629,3 +629,19 @@ disconnect con1;
 --echo # Connection 'default'.
 connection default;
 drop tables tm, t1, t2;
+
+
+--echo #
+--echo # Bug#13259227 ASSERTION TABLES->TABLE->POS_IN_TABLE_LIST
+--echo #              == TABLES FAILED IN SQL_BASE.CC:4668
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TEMPORARY TABLE t1(a int);
+--error ER_NO_SUCH_TABLE
+INSERT DELAYED t1 VALUES (1); 
+
+DROP TEMPORARY TABLE t1;

=== added file 'mysql-test/t/ds_mrr-big.test'
--- a/mysql-test/t/ds_mrr-big.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/ds_mrr-big.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,92 @@
+--source include/big_test.inc
+# As per discussion with Olav, skipping this test from valgrind runs
+--source include/not_valgrind.inc
+
+--echo #
+--echo # Bug 12365385 STRAIGHT_JOIN QUERY QUICKLY EXHAUSTS SYSTEM+VIRT. 
+--echo #              MEMORY LEADING TO SYSTEM CRASH
+--echo #
+
+# This test will cause the server to allocate many GBs of memory and most 
+# likely run out of memory if this bug gets re-introduced. 
+# A reduced version of this test is include in include/mrr_tests.inc
+
+CREATE TABLE ten (a INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE hundred (a INTEGER);
+INSERT INTO hundred
+SELECT a1.a + 10 * a2.a FROM ten a1, ten a2;
+
+CREATE TABLE thousand (a INTEGER);
+INSERT INTO thousand
+SELECT a1.a + 10 * a2.a + 100 * a3.a FROM ten a1, ten a2, ten a3;
+
+CREATE TABLE t1 (
+  pk INTEGER NOT NULL,
+  i1 INTEGER NOT NULL,
+  c1 VARCHAR(10) NOT NULL,
+  PRIMARY KEY (pk)
+);
+
+INSERT INTO t1
+  SELECT a, 1, 'MySQL' FROM thousand;
+
+CREATE TABLE t2 (
+  pk INTEGER NOT NULL,
+  c1 VARCHAR(10) NOT NULL,
+  c2 varchar(10) NOT NULL,
+  PRIMARY KEY (pk)
+);
+
+INSERT INTO t2
+  SELECT a, 'MySQL', 'MySQL' FROM ten;
+
+CREATE TABLE t3 (
+  pk INTEGER NOT NULL,
+  c1 VARCHAR(10) NOT NULL,
+  PRIMARY KEY (pk)
+);
+
+INSERT INTO t3
+  SELECT a, 'MySQL' FROM hundred;
+
+CREATE TABLE t4 (
+  pk int(11) NOT NULL,
+  c1_key varchar(10) CHARACTER SET utf8 NOT NULL,
+  c2 varchar(10) NOT NULL,
+  c3 varchar(10) NOT NULL,
+  PRIMARY KEY (pk),
+  KEY k1 (c1_key)
+);
+
+# t4 is empty
+
+CREATE TABLE t5 (
+  pk INTEGER NOT NULL,
+  c1 VARCHAR(10) NOT NULL,
+  PRIMARY KEY (pk)
+);
+
+INSERT INTO t5
+  SELECT a, 'MySQL' FROM ten;
+
+set optimizer_switch=`mrr=on,mrr_cost_based=off`;
+#set optimizer_switch='mrr=off';
+
+let query=
+SELECT STRAIGHT_JOIN *
+FROM 
+  (t1 LEFT JOIN 
+     (t2 LEFT JOIN
+       (t3 LEFT OUTER JOIN t4 ON t3.c1 <= t4.c1_key)
+      ON t2.c1 = t4.c3) 
+   ON t1.c1 = t4.c2)
+  RIGHT OUTER JOIN t5 ON t2.c2 <= t5.c1
+WHERE t1.i1 = 1;
+
+eval EXPLAIN $query;
+eval $query;
+
+DROP TABLE ten, hundred, thousand;
+DROP TABLE t1, t2, t3, t4, t5;

=== added file 'mysql-test/t/fulltext_plugin.test'
--- a/mysql-test/t/fulltext_plugin.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/fulltext_plugin.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,10 @@
+--source include/have_simple_parser.inc
+
+#
+# BUG#39746 - Debug flag breaks struct definition (server crash)
+#
+INSTALL PLUGIN simple_parser SONAME 'mypluglib';
+CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser);
+ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
+DROP TABLE t1;
+UNINSTALL PLUGIN simple_parser;

=== modified file 'mysql-test/t/func_crypt.test'
--- a/mysql-test/t/func_crypt.test	2012-05-04 12:02:35 +0000
+++ b/mysql-test/t/func_crypt.test	2014-03-11 09:28:16 +0000
@@ -70,3 +70,20 @@ SELECT OLD_PASSWORD(c1), PASSWORD(c1) FR
 DROP TABLE t1;
 
 --echo End of 5.0 tests
+
+--echo #
+--echo # Start of 5.6 tests
+--echo #
+
+--echo #
+--echo # Bug#13812875 ILLEGAL MIX OF COLLATIONS WITH FUNCTIONS THAT USED TO WORK
+--echo #
+SET NAMES utf8;
+CREATE TABLE t1 (a varchar(1));
+SELECT * FROM t1 WHERE a=password('a');
+DROP TABLE t1;
+SET NAMES latin1;
+
+--echo #
+--echo # End of 5.6 tests
+--echo #

=== modified file 'mysql-test/t/func_digest.test'
--- a/mysql-test/t/func_digest.test	2010-07-07 06:38:11 +0000
+++ b/mysql-test/t/func_digest.test	2014-03-11 09:28:16 +0000
@@ -494,3 +494,13 @@ SET NAMES latin1;
 SELECT sha2('1',224);
 --disable_metadata
 
+--echo #
+--echo # Bug#13812875 ILLEGAL MIX OF COLLATIONS WITH FUNCTIONS THAT USED TO WORK
+--echo #
+SET NAMES utf8;
+CREATE TABLE t1 (a varchar(1));
+SELECT * FROM t1 WHERE a=sha1('a');
+SELECT * FROM t1 WHERE a=sha2('a',224);
+DROP TABLE t1;
+SET NAMES latin1;
+

=== added file 'mysql-test/t/innodb_log_file_size_functionality.test'
--- a/mysql-test/t/innodb_log_file_size_functionality.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/innodb_log_file_size_functionality.test	2014-03-11 09:28:16 +0000
@@ -0,0 +1,124 @@
+###############################################################################
+#                                                                             #
+# Variable Name: innodb_log_file_size                                         #
+# Scope: Global                                                               #
+# Access Type: Static                                                         #
+# Data Type: numeric                                                          #
+#                                                                             #
+#                                                                             #
+# Creation Date: 2012-08-20                                                   #
+# Author : Tanjot Singh Uppal                                                 #
+#                                                                             #
+#                                                                             #
+# Description:Test Cases of Static System Variable innodb_log_file_size       #
+#             that checks the behavior of this variable in the following ways #
+#              * Value Check                                                  #
+#              * Scope Check                                                  #
+#              * Functionality Check                                          #
+#              * Accessability Check                                          #
+#                                                                             #               
+# This test does not perform the crash recovery on this variable              # 
+# For crash recovery test on default change please run the ibtest             #
+###############################################################################
+
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source include/have_innodb_16k.inc
+
+echo '#________________________VAR_09_INNODB_LOG_FILE_SIZE__________________#'
+echo '##'
+--echo '#---------------------WL6372_VAR_9_01----------------------#'
+####################################################################
+#   Checking default value                                         #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_log_file_size;
+--echo 5242880 Expected
+
+
+
+--echo '#---------------------WL6372_VAR_9_02----------------------#'
+####################################################################
+#   Checking Value can be set - Static                             #
+####################################################################
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@local.innodb_log_file_size=1;
+--echo Expected error 'Read only variable'
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@session.innodb_log_file_size=1;
+--echo Expected error 'Read only variable'
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_log_file_size=1;
+--echo Expected error 'Read only variable'
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_log_file_size=DEFAULT;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+--echo 1 Expected
+
+
+
+--echo '#---------------------WL6372_VAR_9_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable  #
+#################################################################
+SELECT @@GLOBAL.innodb_log_file_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_file_size';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
+WHERE VARIABLE_NAME='innodb_log_file_size';
+--echo 1 Expected
+
+
+
+--echo '#---------------------WL6372_VAR_9_04----------------------#'
+################################################################################
+#  Checking Variable Scope                                                     #
+################################################################################
+SELECT @@innodb_log_file_size = @@GLOBAL.innodb_log_file_size;
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_log_file_size);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_log_file_size);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_log_file_size);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_log_file_size = @@SESSION.innodb_log_file_size;
+--echo Expected error 'Unknown column innodb_log_file_size in field list'
+
+
+
+--echo '#---------------------WL6372_VAR_9_05----------------------#'
+###############################################################################
+# Checking the /Var  directory size                                           #
+###############################################################################
+-- source include/vardir_size_check.inc
+--echo TRUE Expected
+
+--echo '#---------------------WL6372_VAR_9_06----------------------#'
+#################################################################################
+# Checking the size of ib_logfile                                               #
+#################################################################################
+let MYSQLD_DATADIR=`SELECT @@datadir`;
+--source include/ib_logfile_size_check.inc
+--echo 5242880 expected
+

=== modified file 'mysql-test/t/partition_hash.test'
--- a/mysql-test/t/partition_hash.test	2008-06-03 11:25:41 +0000
+++ b/mysql-test/t/partition_hash.test	2014-03-11 09:28:16 +0000
@@ -9,6 +9,44 @@
 drop table if exists t1;
 --enable_warnings
 
+--echo #
+--echo # Bug#12725206/Bug#61765: WRONG QUERY RESULTS ON SUBPARTITIONS BASED
+--echo #                         ON USIGNED BIGINT
+--echo #
+CREATE TABLE t1 (
+ a int(11) NOT NULL,
+ b bigint(20) UNSIGNED NOT NULL
+)
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH (b)
+SUBPARTITIONS 3
+(PARTITION p1 VALUES LESS THAN (1308614400),
+ PARTITION p2 VALUES LESS THAN (1308700800),
+ PARTITION p3 VALUES LESS THAN (1308787200),
+ PARTITION p4 VALUES LESS THAN (1308873600),
+ PARTITION p5 VALUES LESS THAN (1308960000)
+);
+
+INSERT INTO t1 VALUES
+(1308614400,18446744073709551615),
+(1308700800,0xFFFFFFFFFFFFFFFE),
+(1308787200,18446744073709551613),
+(1308873600,18446744073709551612),
+(1308873600, 12531568256096620965),
+(1308873600, 12531568256096),
+(1308873600, 9223372036854775808);
+SELECT a,b,HEX(b) FROM t1 ORDER BY a, b;
+
+--echo # The following queries returned nothing
+
+SELECT * FROM t1 WHERE b = 9223372036854775808;
+SELECT * FROM t1 WHERE b = 18446744073709551612;
+SELECT * FROM t1 WHERE b = 18446744073709551615;
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 9223372036854775808;
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 18446744073709551612;
+EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b = 18446744073709551615;
+DROP TABLE t1;
+
 #
 # Bug#30822: crash when COALESCE
 #

=== modified file 'mysql-test/t/type_newdecimal.test'
--- a/mysql-test/t/type_newdecimal.test	2012-01-16 19:16:35 +0000
+++ b/mysql-test/t/type_newdecimal.test	2014-03-11 09:28:16 +0000
@@ -1570,3 +1570,22 @@ SELECT d1 * d2 FROM t1;
 
 DROP TABLE t1;
 
+
+--echo #
+--echo # Start of 5.6 tests
+--echo #
+
+--echo #
+--echo # Bug#13375823 - FSP(DECIMAL) RESULT DIFFERENCE WITH QUERY USING UNION ALL
+--echo #
+CREATE TABLE t1 (a DECIMAL(20,3) NOT NULL);
+INSERT INTO t1 VALUES (20000716055804.035);
+INSERT INTO t1 VALUES (20080821000000.000);
+INSERT INTO t1 VALUES (0);
+SELECT GREATEST(a, 1323) FROM t1;
+(SELECT GREATEST(a, 1323) FROM t1) UNION ALL (SELECT GREATEST(a, 1323) FROM t1 LIMIT 0);
+DROP TABLE t1;
+
+--echo #
+--echo # End of 5.6 tests
+--echo #

=== modified file 'mysql-test/t/wait_timeout.test'
--- a/mysql-test/t/wait_timeout.test	2011-12-08 18:17:49 +0000
+++ b/mysql-test/t/wait_timeout.test	2014-03-11 09:28:16 +0000
@@ -137,6 +137,62 @@ disconnect con1;
 # The last connect is to keep tools checking the current test happy.
 connect (default,localhost,root,,test,,);
 
+--echo #
+--echo # Bug#54790: Use of non-blocking mode for sockets limits performance
+--echo #
+
+--echo #
+--echo # Test UNIX domain sockets timeout.
+--echo #
+
+--echo # Open con1 and set a timeout.
+connect(con1,localhost,root,,);
+
+LET $ID= `SELECT connection_id()`;
+SET @@SESSION.wait_timeout = 2;
+
+--echo # Wait for con1 to be disconnected.
+connection default;
+let $wait_condition=
+  SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST
+  WHERE ID = $ID;
+--source include/wait_condition.inc
+
+--echo # Check that con1 has been disconnected.
+connection con1;
+--echo # CR_SERVER_LOST, CR_SERVER_GONE_ERROR
+--error 2006,2013
+SELECT 1;
+
+disconnect con1;
+connection default;
+
+--echo #
+--echo # Test TCP/IP sockets timeout.
+--echo #
+
+--echo # Open con1 and set a timeout.
+connect(con1,127.0.0.1,root,,);
+
+LET $ID= `SELECT connection_id()`;
+SET @@SESSION.wait_timeout = 2;
+
+--echo # Wait for con1 to be disconnected.
+connection default;
+let $wait_condition=
+  SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST
+  WHERE ID = $ID;
+--source include/wait_condition.inc
+
+--echo # Check that con1 has been disconnected.
+connection con1;
+--echo # CR_SERVER_LOST, CR_SERVER_GONE_ERROR
+--error 2006,2013
+SELECT 1;
+
+disconnect con1;
+connection default;
+
 # Wait till all disconnects are completed
 --source include/wait_until_count_sessions.inc
 



More information about the commits mailing list