mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Manual merge of mysql-5.1-bugteam into mysql-trunk-merge.
Conflicts: Text conflict in .bzr-mysql/default.conf Text conflict in mysql-test/suite/rpl/r/rpl_slow_query_log.result Text conflict in mysql-test/suite/rpl/t/rpl_slow_query_log.test Conflict adding files to server-tools. Created directory. Conflict because server-tools is not versioned, but has versioned children. Versioned directory. Conflict adding files to server-tools/instance-manager. Created directory. Conflict because server-tools/instance-manager is not versioned, but has versioned children. Versioned directory. Contents conflict in server-tools/instance-manager/options.cc Text conflict in sql/mysqld.cc
This commit is contained in:
32
mysql-test/r/bug39022.result
Normal file
32
mysql-test/r/bug39022.result
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Bug #39022: Mysql randomly crashing in lock_sec_rec_cons_read_sees
|
||||
#
|
||||
CREATE TABLE t1(a TINYINT NOT NULL,b TINYINT,PRIMARY KEY(b)) ENGINE=innodb;
|
||||
CREATE TABLE t2(d TINYINT NOT NULL,UNIQUE KEY(d)) ENGINE=innodb;
|
||||
INSERT INTO t1 VALUES (13,0),(8,1),(9,2),(6,3),
|
||||
(11,5),(11,6),(7,7),(7,8),(4,9),(6,10),(3,11),(11,12),
|
||||
(12,13),(7,14);
|
||||
INSERT INTO t2 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),
|
||||
(11),(12),(13),(14);
|
||||
# in thread1
|
||||
START TRANSACTION;
|
||||
# in thread2
|
||||
REPLACE INTO t2 VALUES (-17);
|
||||
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d);
|
||||
d
|
||||
# in thread1
|
||||
REPLACE INTO t1(a,b) VALUES (67,20);
|
||||
# in thread2
|
||||
COMMIT;
|
||||
START TRANSACTION;
|
||||
REPLACE INTO t1(a,b) VALUES (65,-50);
|
||||
REPLACE INTO t2 VALUES (-91);
|
||||
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d);
|
||||
# in thread1
|
||||
# should not crash
|
||||
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d);
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
# in thread2
|
||||
d
|
||||
# in default
|
||||
DROP TABLE t1,t2;
|
@@ -1703,3 +1703,91 @@ COUNT(i)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SET @@sql_mode = @old_sql_mode;
|
||||
#
|
||||
# Bug #45640: optimizer bug produces wrong results
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (4, 40), (1, 10), (2, 20), (2, 20), (3, 30);
|
||||
# should return 4 ordered records:
|
||||
SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) FROM t1 GROUP BY aa;
|
||||
aa COUNT(DISTINCT b)
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
SELECT (SELECT (SELECT t1.a)) aa, COUNT(DISTINCT b) FROM t1 GROUP BY aa;
|
||||
aa COUNT(DISTINCT b)
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) FROM t1 GROUP BY aa+0;
|
||||
aa COUNT(DISTINCT b)
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
# should return the same result in a reverse order:
|
||||
SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) FROM t1 GROUP BY -aa;
|
||||
aa COUNT(DISTINCT b)
|
||||
4 1
|
||||
3 1
|
||||
2 1
|
||||
1 1
|
||||
# execution plan should not use temporary table:
|
||||
EXPLAIN EXTENDED
|
||||
SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) FROM t1 GROUP BY aa+0;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 5 100.00 Using filesort
|
||||
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1003 select (select `test`.`t1`.`a` AS `a`) AS `aa`,count(distinct `test`.`t1`.`b`) AS `COUNT(DISTINCT b)` from `test`.`t1` group by ((select `test`.`t1`.`a` AS `a`) + 0)
|
||||
EXPLAIN EXTENDED
|
||||
SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) FROM t1 GROUP BY -aa;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 5 100.00 Using filesort
|
||||
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1003 select (select `test`.`t1`.`a` AS `a`) AS `aa`,count(distinct `test`.`t1`.`b`) AS `COUNT(DISTINCT b)` from `test`.`t1` group by -((select `test`.`t1`.`a` AS `a`))
|
||||
# should return only one record
|
||||
SELECT (SELECT tt.a FROM t1 tt LIMIT 1) aa, COUNT(DISTINCT b) FROM t1
|
||||
GROUP BY aa;
|
||||
aa COUNT(DISTINCT b)
|
||||
4 4
|
||||
CREATE TABLE t2 SELECT DISTINCT a FROM t1;
|
||||
# originally reported queries (1st two columns of next two query
|
||||
# results should be same):
|
||||
SELECT (SELECT t2.a FROM t2 WHERE t2.a = t1.a) aa, b, COUNT(DISTINCT b)
|
||||
FROM t1 GROUP BY aa, b;
|
||||
aa b COUNT(DISTINCT b)
|
||||
1 10 1
|
||||
2 20 1
|
||||
3 30 1
|
||||
4 40 1
|
||||
SELECT (SELECT t2.a FROM t2 WHERE t2.a = t1.a) aa, b, COUNT( b)
|
||||
FROM t1 GROUP BY aa, b;
|
||||
aa b COUNT( b)
|
||||
1 10 1
|
||||
2 20 2
|
||||
3 30 1
|
||||
4 40 1
|
||||
# ORDER BY for sure:
|
||||
SELECT (SELECT t2.a FROM t2 WHERE t2.a = t1.a) aa, b, COUNT(DISTINCT b)
|
||||
FROM t1 GROUP BY aa, b ORDER BY -aa, -b;
|
||||
aa b COUNT(DISTINCT b)
|
||||
4 40 1
|
||||
3 30 1
|
||||
2 20 1
|
||||
1 10 1
|
||||
SELECT (SELECT t2.a FROM t2 WHERE t2.a = t1.a) aa, b, COUNT( b)
|
||||
FROM t1 GROUP BY aa, b ORDER BY -aa, -b;
|
||||
aa b COUNT( b)
|
||||
4 40 1
|
||||
3 30 1
|
||||
2 20 2
|
||||
1 10 1
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
|
@@ -2273,6 +2273,14 @@ END|
|
||||
DROP PROCEDURE p1;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Bug #49324: more valgrind errors in test_if_skip_sort_order
|
||||
#
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb ;
|
||||
#should not cause valgrind warnings
|
||||
SELECT 1 FROM t1 JOIN t1 a USING(a) GROUP BY t1.a,t1.a;
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Test for bug #39932 "create table fails if column for FK is in different
|
||||
|
2
mysql-test/r/no_binlog.result
Normal file
2
mysql-test/r/no_binlog.result
Normal file
@@ -0,0 +1,2 @@
|
||||
SHOW BINARY LOGS;
|
||||
ERROR HY000: You are not using binary logging
|
@@ -270,6 +270,17 @@ SELECT RELEASE_LOCK('Bug44521');
|
||||
RELEASE_LOCK('Bug44521')
|
||||
1
|
||||
DROP PROCEDURE p;
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
CREATE FUNCTION f1 (inp TEXT) RETURNS INT NO SQL RETURN sleep(60);
|
||||
CREATE VIEW v1 AS SELECT f1('a') FROM t1;
|
||||
SELECT * FROM v1;;
|
||||
SELECT * FROM v1;
|
||||
ERROR 70100: Query execution was interrupted
|
||||
ERROR 70100: Query execution was interrupted
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
DROP FUNCTION f1;
|
||||
# ------------------------------------------------------------------
|
||||
# -- End of 5.1 tests
|
||||
# ------------------------------------------------------------------
|
||||
|
@@ -4615,4 +4615,16 @@ FROM t1,t1 a
|
||||
);
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #45989 take 2 : memory leak after explain encounters an
|
||||
# error in the query
|
||||
#
|
||||
CREATE TABLE t1(a LONGTEXT);
|
||||
INSERT INTO t1 VALUES (repeat('a',@@global.max_allowed_packet));
|
||||
INSERT INTO t1 VALUES (repeat('b',@@global.max_allowed_packet));
|
||||
EXPLAIN EXTENDED SELECT DISTINCT 1 FROM t1,
|
||||
(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) AS d1
|
||||
WHERE t1.a = d1.a;
|
||||
ERROR 42S22: Unknown column 'd1.a' in 'where clause'
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests.
|
||||
|
Reference in New Issue
Block a user