mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge mysql-5.1 into mysql-5.1-innodb
This commit is contained in:
@@ -182,6 +182,8 @@ INSERT INTO global_suppressions VALUES
|
||||
("==[0-9]*== For more details"),
|
||||
/* This comes with innodb plugin tests */
|
||||
("==[0-9]*== Warning: set address range perms: large range"),
|
||||
/* valgrind-3.5.0 dumps this */
|
||||
("==[0-9]*== Command: "),
|
||||
|
||||
/* valgrind warnings: invalid file descriptor -1 in syscall
|
||||
write()/read(). Bug #50414 */
|
||||
|
||||
8
mysql-test/r/bug46261.result
Normal file
8
mysql-test/r/bug46261.result
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# Bug#46261 Plugins can be installed with --skip-grant-tables
|
||||
#
|
||||
INSTALL PLUGIN example SONAME 'ha_example.so';
|
||||
ERROR HY000: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
|
||||
UNINSTALL PLUGIN example;
|
||||
ERROR HY000: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
|
||||
End of 5.1 tests
|
||||
@@ -1230,4 +1230,12 @@ SELECT HEX(DAYNAME(19700101));
|
||||
HEX(DAYNAME(19700101))
|
||||
0427043504420432043504400433
|
||||
SET character_set_connection=latin1;
|
||||
#
|
||||
# Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(1) CHARSET ascii, b CHAR(1) CHARSET latin1);
|
||||
CREATE VIEW v1 AS SELECT 1 from t1
|
||||
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
||||
@@ -18,3 +18,26 @@ SELECT MAX(a) FROM t1 GROUP BY a,b;
|
||||
ERROR 23000: Can't write; duplicate key in table 'tmp_table'
|
||||
set tmp_table_size=default;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #50946: fast index creation still seems to copy the table
|
||||
#
|
||||
CREATE TABLE t1 (a INT(100) NOT NULL);
|
||||
INSERT INTO t1 VALUES (1), (0), (2);
|
||||
SET SESSION debug='+d,alter_table_only_index_change';
|
||||
ALTER TABLE t1 ADD INDEX a(a);
|
||||
SET SESSION debug=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(100) NOT NULL,
|
||||
KEY `a` (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
1
|
||||
2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
|
||||
@@ -226,4 +226,16 @@ Warnings:
|
||||
Note 1276 Field or reference 'test.t1.c' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1003 select (select 1 from `test`.`t2` where (`test`.`t2`.`d` = NULL)) AS `(SELECT 1 FROM t2 WHERE d = c)` from `test`.`t1`
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug #48419: another explain crash..
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (b BLOB, KEY b(b(100)));
|
||||
INSERT INTO t2 VALUES ('1'), ('2'), ('3');
|
||||
FLUSH TABLES;
|
||||
EXPLAIN SELECT 1 FROM t1 WHERE a = (SELECT 1 FROM t1 t JOIN t2 WHERE b <= 1 AND t.a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.1 tests.
|
||||
|
||||
@@ -1413,3 +1413,19 @@ DROP USER 'user1';
|
||||
DROP USER 'user1'@'localhost';
|
||||
DROP USER 'user2';
|
||||
DROP DATABASE db1;
|
||||
CREATE DATABASE db1;
|
||||
CREATE DATABASE db2;
|
||||
GRANT SELECT ON db1.* to 'testbug'@localhost;
|
||||
USE db2;
|
||||
CREATE TABLE t1 (a INT);
|
||||
USE test;
|
||||
SELECT * FROM `../db2/tb2`;
|
||||
ERROR 42S02: Table 'db1.../db2/tb2' doesn't exist
|
||||
SELECT * FROM `../db2`.tb2;
|
||||
ERROR 42000: SELECT command denied to user 'testbug'@'localhost' for table 'tb2'
|
||||
SELECT * FROM `#mysql50#/../db2/tb2`;
|
||||
ERROR 42S02: Table 'db1.#mysql50#/../db2/tb2' doesn't exist
|
||||
DROP USER 'testbug'@localhost;
|
||||
DROP TABLE db2.t1;
|
||||
DROP DATABASE db1;
|
||||
DROP DATABASE db2;
|
||||
|
||||
@@ -2350,4 +2350,32 @@ Null
|
||||
Index_type BTREE
|
||||
Comment
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
|
||||
# JOINed during an UPDATE
|
||||
#
|
||||
CREATE TABLE t1 (d INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (a INT, b INT,
|
||||
c TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB;
|
||||
set up our data elements
|
||||
INSERT INTO t1 (d) VALUES (1);
|
||||
INSERT INTO t2 (a,b) VALUES (1,1);
|
||||
SELECT SECOND(c) INTO @bug47453 FROM t2;
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
SECOND(c)-@bug47453
|
||||
0
|
||||
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
SECOND(c)-@bug47453
|
||||
0
|
||||
SELECT SLEEP(1);
|
||||
SLEEP(1)
|
||||
0
|
||||
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
|
||||
#should be 0
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
SECOND(c)-@bug47453
|
||||
0
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -1146,6 +1146,16 @@ ROW(t1.b, 1111.11) <=> ROW('','');
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #50335: Assertion `!(order->used & map)' in eq_ref_table
|
||||
#
|
||||
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b));
|
||||
INSERT INTO t1 VALUES (0,0), (1,1);
|
||||
SELECT * FROM t1 STRAIGHT_JOIN t1 t2 ON t1.a=t2.a AND t1.a=t2.b ORDER BY t2.a, t1.a;
|
||||
a b a b
|
||||
0 0 0 0
|
||||
1 1 1 1
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
CREATE TABLE t1 (f1 int);
|
||||
CREATE TABLE t2 (f1 int);
|
||||
@@ -1174,14 +1184,4 @@ NULL
|
||||
NULL
|
||||
1
|
||||
DROP TABLE t1, t2, mm1;
|
||||
#
|
||||
# Bug #50335: Assertion `!(order->used & map)' in eq_ref_table
|
||||
#
|
||||
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b));
|
||||
INSERT INTO t1 VALUES (0,0), (1,1);
|
||||
SELECT * FROM t1 STRAIGHT_JOIN t1 t2 ON t1.a=t2.a AND t1.a=t2.b ORDER BY t2.a, t1.a;
|
||||
a b a b
|
||||
0 0 0 0
|
||||
1 1 1 1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
||||
6
mysql-test/r/loaddata.result
Executable file → Normal file
6
mysql-test/r/loaddata.result
Executable file → Normal file
@@ -202,12 +202,6 @@ select * from t1;
|
||||
a b c
|
||||
10 NULL Ten
|
||||
15 NULL Fifteen
|
||||
show variables like "secure_file_pri%";
|
||||
Variable_name Value
|
||||
secure_file_priv MYSQLTEST_VARDIR/
|
||||
select @@secure_file_priv;
|
||||
@@secure_file_priv
|
||||
MYSQLTEST_VARDIR/
|
||||
set @@secure_file_priv= 0;
|
||||
ERROR HY000: Variable 'secure_file_priv' is a read only variable
|
||||
truncate table t1;
|
||||
|
||||
@@ -155,24 +155,24 @@ execute stmt1 ;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
execute stmt1 ;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.c4) as exists_s, c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s, (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s FROM t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
deallocate prepare stmt1;
|
||||
@@ -2988,4 +2988,17 @@ select @plaintext;
|
||||
bcd
|
||||
deallocate prepare encode;
|
||||
deallocate prepare decode;
|
||||
#
|
||||
# Bug#52124 memory leaks like a sieve in datetime, timestamp, time, date fields + warnings
|
||||
#
|
||||
CREATE TABLE t1 (a DATETIME NOT NULL, b TINYINT);
|
||||
INSERT INTO t1 VALUES (0, 0),(0, 0);
|
||||
PREPARE stmt FROM "SELECT 1 FROM t1 WHERE
|
||||
ROW(a, b) >= ROW('1', (SELECT 1 FROM t1 WHERE a > 1234))";
|
||||
EXECUTE stmt;
|
||||
1
|
||||
EXECUTE stmt;
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests.
|
||||
|
||||
@@ -457,3 +457,12 @@ abc 1 abc 1
|
||||
select host,user from mysql.user where (host,user) = ('localhost','test');
|
||||
host user
|
||||
drop table t1,t2;
|
||||
#
|
||||
# Bug#52124 memory leaks like a sieve in datetime, timestamp, time, date fields + warnings
|
||||
#
|
||||
CREATE TABLE t1 (a DATETIME NOT NULL, b TINYINT);
|
||||
INSERT INTO t1 VALUES (0, 0),(0, 0);
|
||||
SELECT 1 FROM t1 WHERE ROW(a, b) >=
|
||||
ROW('1', (SELECT 1 FROM t1 WHERE a > 1234));
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -2128,4 +2128,27 @@ Warning 1048 Column 'id' cannot be null
|
||||
Warning 1048 Column 'id' cannot be null
|
||||
DROP TRIGGER t1_bu;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Bug#50755: Crash if stored routine def contains version comments
|
||||
#
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
DROP TRIGGER IF EXISTS trg1;
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
CREATE DATABASE db1;
|
||||
USE db1;
|
||||
CREATE TABLE t1 (b INT);
|
||||
CREATE TABLE t2 (a INT);
|
||||
CREATE TRIGGER trg1 BEFORE INSERT ON t2 FOR EACH ROW INSERT/*!INTO*/t1 VALUES (1);
|
||||
# Used to crash
|
||||
SHOW TRIGGERS IN db1;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
Warnings:
|
||||
Warning 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (1)' at line 1
|
||||
INSERT INTO t2 VALUES (1);
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (1)' at line 1
|
||||
SELECT * FROM t1;
|
||||
b
|
||||
# Work around Bug#45235
|
||||
DROP DATABASE db1;
|
||||
USE test;
|
||||
End of 5.1 tests.
|
||||
|
||||
@@ -10,3 +10,16 @@ set debug= '-P';
|
||||
select @@debug;
|
||||
@@debug
|
||||
T
|
||||
#
|
||||
# Bug #52629: memory leak from sys_var_thd_dbug in
|
||||
# binlog.binlog_write_error
|
||||
#
|
||||
SET GLOBAL debug='d,injecting_fault_writing';
|
||||
SELECT @@global.debug;
|
||||
@@global.debug
|
||||
d,injecting_fault_writing
|
||||
SET GLOBAL debug='';
|
||||
SELECT @@global.debug;
|
||||
@@global.debug
|
||||
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -3874,6 +3874,14 @@ CREATE VIEW v1 AS SELECT 1 FROM t1 WHERE
|
||||
ROW(1,1) >= ROW(1, (SELECT 1 FROM t1 WHERE f1 >= ANY ( SELECT '1' )));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(1) CHARSET latin1, b CHAR(1) CHARSET utf8);
|
||||
CREATE VIEW v1 AS SELECT 1 from t1
|
||||
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.1 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
||||
@@ -50,22 +50,22 @@ The following suites are included:
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
1) The 'funcs' and 'iuds' suites currently runs only against MySQL 5.1 server.
|
||||
Running them against MySQL 5.5 will generate errors.
|
||||
|
||||
2) The folowing tests in the 'iuds' suite:
|
||||
1) The folowing tests in the 'iuds' suite:
|
||||
- delete_decimal
|
||||
- insert_decimal
|
||||
- update_decimal
|
||||
will return a 'Warning 1264 - Out of range value...' warning if run in a 32-bit environment.
|
||||
Add the '--force' option to prevent the test run from aborting.
|
||||
|
||||
3) The following tests in the 'funcs' suite will fail when run against the innodb_plugin:
|
||||
2) The following tests in the 'funcs' suite will fail when run against the innodb_plugin:
|
||||
- crash_manycolumns_string (bug 50495)
|
||||
- ix_unique_lob (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
|
||||
- ix_unique_string_length (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
|
||||
Add the '--force' option to prevent the test run from aborting.
|
||||
|
||||
4) Some of the rpl_xxx tests in the 'funcs' suite require a secific binlog_forat setting and will be
|
||||
3) Some of the rpl_xxx tests in the 'funcs' suite require a secific binlog_forat setting and will be
|
||||
skipped otherwise.
|
||||
|
||||
4) Some of the rpl_xxx tests in the 'funcs' suite will report a 'Statement unsafe for replication' warning
|
||||
when run againsr a server configured to use statement based replication.
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# List of disabled tests
|
||||
# test name : comment
|
||||
#rpl_redirect : Fails due to bug#49978
|
||||
rpl_redirect : Fails due to bug#49978
|
||||
crash_manycolumns_string : Bug#50495 'Row size too large' for plugin, but works for built-in innodb
|
||||
ix_unique_lob : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
|
||||
ix_unique_string_length : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
|
||||
|
||||
|
||||
@@ -986,7 +986,7 @@ c1 c2 c3 c4
|
||||
2155 2155 1998-12-26 1998-12-26 11:30:45
|
||||
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2;
|
||||
total_rows min_value max(c2)
|
||||
20 1901 2155
|
||||
20 0 2155
|
||||
SELECT * FROM t2 WHERE c3 = '1998-12-11';
|
||||
c1 c2 c3 c4
|
||||
1990 1990 1998-12-11 1998-12-11 11:30:45
|
||||
@@ -1400,7 +1400,7 @@ c1 c2 c3 c4
|
||||
2155 2155 1998-12-26 1998-12-26 11:30:45
|
||||
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2;
|
||||
total_rows min_value max(c2)
|
||||
20 1901 2155
|
||||
20 0 2155
|
||||
SELECT * FROM t2 WHERE c3 = '1998-12-11';
|
||||
c1 c2 c3 c4
|
||||
1990 1990 1998-12-11 1998-12-11 11:30:45
|
||||
|
||||
@@ -791,9 +791,6 @@ Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
|
||||
SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
|
||||
count(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
|
||||
c1 c2 c3
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 6
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
insert_calendar : Bug #52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
|
||||
|
||||
@@ -7812,10 +7812,15 @@ SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2;
|
||||
SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2;
|
||||
|
||||
## ref type access
|
||||
|
||||
# Bug#52283 : Remove the following --disable_warnings
|
||||
# command when the bug is fixed
|
||||
--disable_warnings
|
||||
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6;
|
||||
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 LIMIT 2;
|
||||
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC;
|
||||
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2;
|
||||
--enable_warnings
|
||||
|
||||
## Range access, ordered ##
|
||||
SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6;
|
||||
|
||||
@@ -300,7 +300,12 @@ INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7)
|
||||
UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09';
|
||||
UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11';
|
||||
SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59';
|
||||
|
||||
# Bug#52283 : Remove the following --disable_warnings
|
||||
# command when the bug is fixed
|
||||
--disable_warnings
|
||||
SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
|
||||
--enable_warnings
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
|
||||
|
||||
|
||||
@@ -242,4 +242,18 @@ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
DROP USER 'user49119'@'localhost';
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
grant all on *.* to foo@"1.2.3.4";
|
||||
revoke all privileges, grant option from "foo";
|
||||
ERROR HY000: Can't revoke all privileges for one or more of the requested users
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; grant all on *.* to foo@"1.2.3.4"
|
||||
master-bin.000001 # Query # # use `test`; revoke all privileges, grant option from "foo"
|
||||
DROP USER foo@"1.2.3.4";
|
||||
"End of test"
|
||||
|
||||
@@ -316,4 +316,33 @@ DROP USER 'user49119'@'localhost';
|
||||
|
||||
-- sync_slave_with_master
|
||||
|
||||
#
|
||||
# Bug #51987 revoke privileges logs wrong error code
|
||||
#
|
||||
|
||||
-- connection master
|
||||
-- source include/master-slave-reset.inc
|
||||
-- connection master
|
||||
|
||||
grant all on *.* to foo@"1.2.3.4";
|
||||
-- error ER_REVOKE_GRANTS
|
||||
revoke all privileges, grant option from "foo";
|
||||
|
||||
## assertion: revoke is logged
|
||||
-- source include/show_binlog_events.inc
|
||||
|
||||
-- sync_slave_with_master
|
||||
|
||||
## assertion: slave replicates revoke and does not fail because master
|
||||
## logged revoke with correct expected error code
|
||||
-- let $err= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1)
|
||||
if ($err)
|
||||
{
|
||||
-- die UNEXPECTED ERROR AT SLAVE: $err
|
||||
}
|
||||
|
||||
-- connection master
|
||||
DROP USER foo@"1.2.3.4";
|
||||
-- sync_slave_with_master
|
||||
|
||||
--echo "End of test"
|
||||
|
||||
22
mysql-test/suite/sys_vars/r/secure_file_priv.result
Normal file
22
mysql-test/suite/sys_vars/r/secure_file_priv.result
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Bug50373 --secure-file-priv=""
|
||||
#
|
||||
CREATE TABLE t1 (c1 VARCHAR(50));
|
||||
INSERT INTO t1 VALUES ("one"),("two"),("three"),("four"),("five");
|
||||
SHOW VARIABLES LIKE 'secure_file_priv';
|
||||
Variable_name Value
|
||||
secure_file_priv
|
||||
c1
|
||||
one
|
||||
two
|
||||
three
|
||||
four
|
||||
five
|
||||
loaded_file
|
||||
one
|
||||
two
|
||||
three
|
||||
four
|
||||
five
|
||||
|
||||
DROP TABLE t1;
|
||||
1
mysql-test/suite/sys_vars/t/secure_file_priv-master.opt
Normal file
1
mysql-test/suite/sys_vars/t/secure_file_priv-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--secure_file_priv=''
|
||||
21
mysql-test/suite/sys_vars/t/secure_file_priv.test
Normal file
21
mysql-test/suite/sys_vars/t/secure_file_priv.test
Normal file
@@ -0,0 +1,21 @@
|
||||
--echo #
|
||||
--echo # Bug50373 --secure-file-priv=""
|
||||
--echo #
|
||||
CREATE TABLE t1 (c1 VARCHAR(50));
|
||||
INSERT INTO t1 VALUES ("one"),("two"),("three"),("four"),("five");
|
||||
SHOW VARIABLES LIKE 'secure_file_priv';
|
||||
--disable_query_log
|
||||
# Atempt to create a file where we normally aren't allowed to create one.
|
||||
# Doing this in a portable manner is difficult but we should be able to
|
||||
# count on the depth of the directory hierarchy used. Three steps up from
|
||||
# the datadir is the 'mysql_test' directory.
|
||||
--let $PROTECTED_FILE=`SELECT concat(@@datadir,'/../../../bug50373.txt')`;
|
||||
--eval SELECT * FROM t1 INTO OUTFILE '$PROTECTED_FILE';
|
||||
DELETE FROM t1;
|
||||
--eval LOAD DATA INFILE '$PROTECTED_FILE' INTO TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
--eval SELECT load_file('$PROTECTED_FILE') AS loaded_file;
|
||||
--enable_query_log
|
||||
remove_file $PROTECTED_FILE;
|
||||
DROP TABLE t1;
|
||||
|
||||
1
mysql-test/t/bug46261-master.opt
Normal file
1
mysql-test/t/bug46261-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--skip-grant-tables $EXAMPLE_PLUGIN_OPT
|
||||
16
mysql-test/t/bug46261.test
Normal file
16
mysql-test/t/bug46261.test
Normal file
@@ -0,0 +1,16 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_example_plugin.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#46261 Plugins can be installed with --skip-grant-tables
|
||||
--echo #
|
||||
|
||||
--replace_regex /\.dll/.so/
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
|
||||
--replace_regex /\.dll/.so/
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
eval UNINSTALL PLUGIN example;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
@@ -732,4 +732,13 @@ SELECT HEX(MONTHNAME(19700101));
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
SET character_set_connection=latin1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817
|
||||
--echo #
|
||||
CREATE TABLE t1 (a CHAR(1) CHARSET ascii, b CHAR(1) CHARSET latin1);
|
||||
CREATE VIEW v1 AS SELECT 1 from t1
|
||||
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
@@ -33,3 +33,19 @@ set tmp_table_size=default;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #50946: fast index creation still seems to copy the table
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT(100) NOT NULL);
|
||||
INSERT INTO t1 VALUES (1), (0), (2);
|
||||
SET SESSION debug='+d,alter_table_only_index_change';
|
||||
ALTER TABLE t1 ADD INDEX a(a);
|
||||
SET SESSION debug=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.1 tests
|
||||
--echo #
|
||||
|
||||
@@ -198,4 +198,19 @@ INSERT INTO t2 VALUES (NULL), (0);
|
||||
EXPLAIN EXTENDED SELECT (SELECT 1 FROM t2 WHERE d = c) FROM t1;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #48419: another explain crash..
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (b BLOB, KEY b(b(100)));
|
||||
INSERT INTO t2 VALUES ('1'), ('2'), ('3');
|
||||
|
||||
FLUSH TABLES;
|
||||
|
||||
EXPLAIN SELECT 1 FROM t1 WHERE a = (SELECT 1 FROM t1 t JOIN t2 WHERE b <= 1 AND t.a);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
@@ -1525,5 +1525,30 @@ DROP USER 'user1'@'localhost';
|
||||
DROP USER 'user2';
|
||||
DROP DATABASE db1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #53371: COM_FIELD_LIST can be abused to bypass table level grants.
|
||||
#
|
||||
|
||||
CREATE DATABASE db1;
|
||||
CREATE DATABASE db2;
|
||||
GRANT SELECT ON db1.* to 'testbug'@localhost;
|
||||
USE db2;
|
||||
CREATE TABLE t1 (a INT);
|
||||
USE test;
|
||||
connect (con1,localhost,testbug,,db1);
|
||||
--error ER_NO_SUCH_TABLE
|
||||
SELECT * FROM `../db2/tb2`;
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
SELECT * FROM `../db2`.tb2;
|
||||
--error ER_NO_SUCH_TABLE
|
||||
SELECT * FROM `#mysql50#/../db2/tb2`;
|
||||
connection default;
|
||||
disconnect con1;
|
||||
DROP USER 'testbug'@localhost;
|
||||
DROP TABLE db2.t1;
|
||||
DROP DATABASE db1;
|
||||
DROP DATABASE db2;
|
||||
|
||||
# Wait till we reached the initial number of concurrent sessions
|
||||
--source include/wait_until_count_sessions.inc
|
||||
|
||||
@@ -589,4 +589,34 @@ ALTER TABLE t1 DROP INDEX k, ADD UNIQUE INDEX k (a,b);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
|
||||
--echo # JOINed during an UPDATE
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (d INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (a INT, b INT,
|
||||
c TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB;
|
||||
|
||||
--echo set up our data elements
|
||||
INSERT INTO t1 (d) VALUES (1);
|
||||
INSERT INTO t2 (a,b) VALUES (1,1);
|
||||
SELECT SECOND(c) INTO @bug47453 FROM t2;
|
||||
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
|
||||
SELECT SLEEP(1);
|
||||
|
||||
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
|
||||
|
||||
--echo #should be 0
|
||||
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -807,6 +807,17 @@ WHERE ROW(t1.a, 1111.11) = ROW(1111.11, 1111.11) AND
|
||||
ROW(t1.b, 1111.11) <=> ROW('','');
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #50335: Assertion `!(order->used & map)' in eq_ref_table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b));
|
||||
INSERT INTO t1 VALUES (0,0), (1,1);
|
||||
|
||||
SELECT * FROM t1 STRAIGHT_JOIN t1 t2 ON t1.a=t2.a AND t1.a=t2.b ORDER BY t2.a, t1.a;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
|
||||
@@ -840,15 +851,4 @@ ENGINE=MERGE UNION=(t1,t2);
|
||||
SELECT t1.a FROM mm1,t1;
|
||||
DROP TABLE t1, t2, mm1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #50335: Assertion `!(order->used & map)' in eq_ref_table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b));
|
||||
INSERT INTO t1 VALUES (0,0), (1,1);
|
||||
|
||||
SELECT * FROM t1 STRAIGHT_JOIN t1 t2 ON t1.a=t2.a AND t1.a=t2.b ORDER BY t2.a, t1.a;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -153,10 +153,16 @@ select * from t1;
|
||||
#
|
||||
# It should not be possible to load from a file outside of vardir
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
show variables like "secure_file_pri%";
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
select @@secure_file_priv;
|
||||
## The following lines were disabled because of patch for
|
||||
## bug 50373. MYSQLTEST_VARDIR doesn't rewrite symlinks
|
||||
## to real paths, but this is done for secure_file_priv.
|
||||
## Because of this the result can't be replaced if the
|
||||
## test suite runs with the --mem option which creates
|
||||
## symlinks to the ramdisk.
|
||||
#--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
#show variables like "secure_file_pri%";
|
||||
#--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
#select @@secure_file_priv;
|
||||
--error 1238
|
||||
set @@secure_file_priv= 0;
|
||||
|
||||
|
||||
@@ -3065,4 +3065,18 @@ select @plaintext;
|
||||
deallocate prepare encode;
|
||||
deallocate prepare decode;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#52124 memory leaks like a sieve in datetime, timestamp, time, date fields + warnings
|
||||
--echo #
|
||||
CREATE TABLE t1 (a DATETIME NOT NULL, b TINYINT);
|
||||
INSERT INTO t1 VALUES (0, 0),(0, 0);
|
||||
PREPARE stmt FROM "SELECT 1 FROM t1 WHERE
|
||||
ROW(a, b) >= ROW('1', (SELECT 1 FROM t1 WHERE a > 1234))";
|
||||
--disable_warnings
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
--enable_warnings
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
@@ -255,3 +255,14 @@ select * from t1,t2 where (a,b) = (c,d);
|
||||
|
||||
select host,user from mysql.user where (host,user) = ('localhost','test');
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#52124 memory leaks like a sieve in datetime, timestamp, time, date fields + warnings
|
||||
--echo #
|
||||
CREATE TABLE t1 (a DATETIME NOT NULL, b TINYINT);
|
||||
INSERT INTO t1 VALUES (0, 0),(0, 0);
|
||||
--disable_warnings
|
||||
SELECT 1 FROM t1 WHERE ROW(a, b) >=
|
||||
ROW('1', (SELECT 1 FROM t1 WHERE a > 1234));
|
||||
--enable_warnings
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -2439,4 +2439,35 @@ UPDATE t1 SET id=NULL;
|
||||
DROP TRIGGER t1_bu;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#50755: Crash if stored routine def contains version comments
|
||||
--echo #
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
DROP TRIGGER IF EXISTS trg1;
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
CREATE DATABASE db1;
|
||||
USE db1;
|
||||
|
||||
CREATE TABLE t1 (b INT);
|
||||
CREATE TABLE t2 (a INT);
|
||||
|
||||
CREATE TRIGGER trg1 BEFORE INSERT ON t2 FOR EACH ROW INSERT/*!INTO*/t1 VALUES (1);
|
||||
--echo # Used to crash
|
||||
SHOW TRIGGERS IN db1;
|
||||
--error ER_PARSE_ERROR
|
||||
INSERT INTO t2 VALUES (1);
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo # Work around Bug#45235
|
||||
let $MYSQLD_DATADIR = `select @@datadir`;
|
||||
--remove_file $MYSQLD_DATADIR/db1/t2.TRG
|
||||
--remove_file $MYSQLD_DATADIR/db1/trg1.TRN
|
||||
|
||||
DROP DATABASE db1;
|
||||
USE test;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
@@ -10,3 +10,16 @@ set debug= '+P';
|
||||
select @@debug;
|
||||
set debug= '-P';
|
||||
select @@debug;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #52629: memory leak from sys_var_thd_dbug in
|
||||
--echo # binlog.binlog_write_error
|
||||
--echo #
|
||||
|
||||
SET GLOBAL debug='d,injecting_fault_writing';
|
||||
SELECT @@global.debug;
|
||||
SET GLOBAL debug='';
|
||||
SELECT @@global.debug;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -3916,6 +3916,15 @@ ROW(1,1) >= ROW(1, (SELECT 1 FROM t1 WHERE f1 >= ANY ( SELECT '1' )));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817
|
||||
--echo #
|
||||
CREATE TABLE t1 (a CHAR(1) CHARSET latin1, b CHAR(1) CHARSET utf8);
|
||||
CREATE VIEW v1 AS SELECT 1 from t1
|
||||
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # -----------------------------------------------------------------
|
||||
--echo # -- End of 5.1 tests.
|
||||
--echo # -----------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user