mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build libmysql/libmysql.c: Auto merged mysql-test/r/information_schema.result: Auto merged mysql-test/t/information_schema.test: Auto merged sql/ha_partition.cc: Auto merged sql/ha_partition.h: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged tests/mysql_client_test.c: Auto merged
This commit is contained in:
@ -939,6 +939,36 @@ alter table t1 add index(a(1024));
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #28570: handler::index_read() is called with different find_flag when
|
||||
# ORDER BY is used
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT,
|
||||
KEY (b)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
|
||||
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=20 FOR UPDATE;
|
||||
|
||||
--connect (conn2, localhost, root,,test)
|
||||
|
||||
# This statement gives a "failed: 1205: Lock wait timeout exceeded; try
|
||||
# restarting transaction" message when the bug is present.
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
|
||||
ROLLBACK;
|
||||
|
||||
--disconnect conn2
|
||||
--connection default
|
||||
|
||||
ROLLBACK;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
|
||||
|
@ -196,7 +196,6 @@ t1 a select
|
||||
show columns from mysqltest.t1;
|
||||
Field Type Null Key Default Extra
|
||||
a int(11) YES NULL
|
||||
b varchar(30) YES MUL NULL
|
||||
select table_name, column_name, privileges from information_schema.columns
|
||||
where table_schema = 'mysqltest' and table_name = 'v1';
|
||||
table_name column_name privileges
|
||||
@ -1410,6 +1409,31 @@ alter database;
|
||||
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 '' at line 1
|
||||
alter database test;
|
||||
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 '' at line 1
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(a int, b int, c int);
|
||||
create trigger mysqltest.t1_ai after insert on mysqltest.t1
|
||||
for each row set @a = new.a + new.b + new.c;
|
||||
grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
trigger_name
|
||||
t1_ai
|
||||
show triggers from mysqltest;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
t1_ai INSERT t1 set @a = new.a + new.b + new.c AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
show columns from t1;
|
||||
Field Type Null Key Default Extra
|
||||
b int(11) YES NULL
|
||||
select column_name from information_schema.columns where table_name='t1';
|
||||
column_name
|
||||
b
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
trigger_name
|
||||
drop user mysqltest_1@localhost;
|
||||
drop database mysqltest;
|
||||
End of 5.0 tests.
|
||||
select * from information_schema.engines WHERE ENGINE="MyISAM";
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
|
@ -151,13 +151,11 @@ create view v2 as select f1 from testdb_1.v1;
|
||||
create view v4 as select f1,f2 from testdb_1.v3;
|
||||
show fields from testdb_1.v5;
|
||||
Field Type Null Key Default Extra
|
||||
f1 char(4) YES NULL
|
||||
show create view testdb_1.v5;
|
||||
View Create View character_set_client collation_connection
|
||||
v5 CREATE ALGORITHM=UNDEFINED DEFINER=`testdb_1`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v5` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
|
||||
show fields from testdb_1.v6;
|
||||
Field Type Null Key Default Extra
|
||||
f1 char(4) YES NULL
|
||||
show create view testdb_1.v6;
|
||||
View Create View character_set_client collation_connection
|
||||
v6 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v6` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
|
||||
|
@ -1123,6 +1123,24 @@ t1 CREATE TABLE `t1` (
|
||||
KEY `a` (`a`(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT,
|
||||
KEY (b)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=20 FOR UPDATE;
|
||||
a b
|
||||
2 20
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
|
||||
a b
|
||||
1 10
|
||||
2 10
|
||||
ROLLBACK;
|
||||
ROLLBACK;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE `t2` (
|
||||
`k` int(11) NOT NULL auto_increment,
|
||||
|
@ -631,7 +631,7 @@ flush status;
|
||||
delete from t2 where b > 5;
|
||||
show status like 'Handler_read_rnd_next';
|
||||
Variable_name Value
|
||||
Handler_read_rnd_next 1215
|
||||
Handler_read_rnd_next 1115
|
||||
show status like 'Handler_read_key';
|
||||
Variable_name Value
|
||||
Handler_read_key 0
|
||||
@ -645,7 +645,7 @@ flush status;
|
||||
delete from t2 where b < 5 or b > 3;
|
||||
show status like 'Handler_read_rnd_next';
|
||||
Variable_name Value
|
||||
Handler_read_rnd_next 1215
|
||||
Handler_read_rnd_next 1115
|
||||
show status like 'Handler_read_key';
|
||||
Variable_name Value
|
||||
Handler_read_key 0
|
||||
|
@ -3990,4 +3990,61 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) > 0;
|
||||
ERROR HY000: Too high level of nesting for select
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 int(11) NOT NULL AUTO_INCREMENT,
|
||||
c2 varchar(1000) DEFAULT NULL,
|
||||
c3 bigint(20) DEFAULT NULL,
|
||||
c4 bigint(20) DEFAULT NULL,
|
||||
PRIMARY KEY (c1)
|
||||
);
|
||||
EXPLAIN EXTENDED
|
||||
SELECT join_2.c1
|
||||
FROM
|
||||
t1 AS join_0,
|
||||
t1 AS join_1,
|
||||
t1 AS join_2,
|
||||
t1 AS join_3,
|
||||
t1 AS join_4,
|
||||
t1 AS join_5,
|
||||
t1 AS join_6,
|
||||
t1 AS join_7
|
||||
WHERE
|
||||
join_0.c1=join_1.c1 AND
|
||||
join_1.c1=join_2.c1 AND
|
||||
join_2.c1=join_3.c1 AND
|
||||
join_3.c1=join_4.c1 AND
|
||||
join_4.c1=join_5.c1 AND
|
||||
join_5.c1=join_6.c1 AND
|
||||
join_6.c1=join_7.c1
|
||||
OR
|
||||
join_0.c2 < '?' AND
|
||||
join_1.c2 < '?' AND
|
||||
join_2.c2 > '?' AND
|
||||
join_2.c2 < '!' AND
|
||||
join_3.c2 > '?' AND
|
||||
join_4.c2 = '?' AND
|
||||
join_5.c2 <> '?' AND
|
||||
join_6.c2 <> '?' AND
|
||||
join_7.c2 >= '?' AND
|
||||
join_0.c1=join_1.c1 AND
|
||||
join_1.c1=join_2.c1 AND
|
||||
join_2.c1=join_3.c1 AND
|
||||
join_3.c1=join_4.c1 AND
|
||||
join_4.c1=join_5.c1 AND
|
||||
join_5.c1=join_6.c1 AND
|
||||
join_6.c1=join_7.c1
|
||||
GROUP BY
|
||||
join_3.c1,
|
||||
join_2.c1,
|
||||
join_7.c1,
|
||||
join_1.c1,
|
||||
join_0.c1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Note 1003 select '0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Note 1003 select '0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -1047,6 +1047,31 @@ alter database;
|
||||
--error ER_PARSE_ERROR
|
||||
alter database test;
|
||||
|
||||
#
|
||||
# Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements
|
||||
#
|
||||
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(a int, b int, c int);
|
||||
create trigger mysqltest.t1_ai after insert on mysqltest.t1
|
||||
for each row set @a = new.a + new.b + new.c;
|
||||
grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
|
||||
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
show triggers from mysqltest;
|
||||
|
||||
connect (con27629,localhost,mysqltest_1,,mysqltest);
|
||||
show columns from t1;
|
||||
select column_name from information_schema.columns where table_name='t1';
|
||||
|
||||
show triggers;
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
connection default;
|
||||
drop user mysqltest_1@localhost;
|
||||
drop database mysqltest;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
#
|
||||
# Show engines
|
||||
|
@ -3389,4 +3389,64 @@ eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #30396: crash for a join with equalities and sargable predicates
|
||||
# in disjunctive parts of the WHERE condition
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
c1 int(11) NOT NULL AUTO_INCREMENT,
|
||||
c2 varchar(1000) DEFAULT NULL,
|
||||
c3 bigint(20) DEFAULT NULL,
|
||||
c4 bigint(20) DEFAULT NULL,
|
||||
PRIMARY KEY (c1)
|
||||
);
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT join_2.c1
|
||||
FROM
|
||||
t1 AS join_0,
|
||||
t1 AS join_1,
|
||||
t1 AS join_2,
|
||||
t1 AS join_3,
|
||||
t1 AS join_4,
|
||||
t1 AS join_5,
|
||||
t1 AS join_6,
|
||||
t1 AS join_7
|
||||
WHERE
|
||||
join_0.c1=join_1.c1 AND
|
||||
join_1.c1=join_2.c1 AND
|
||||
join_2.c1=join_3.c1 AND
|
||||
join_3.c1=join_4.c1 AND
|
||||
join_4.c1=join_5.c1 AND
|
||||
join_5.c1=join_6.c1 AND
|
||||
join_6.c1=join_7.c1
|
||||
OR
|
||||
join_0.c2 < '?' AND
|
||||
join_1.c2 < '?' AND
|
||||
join_2.c2 > '?' AND
|
||||
join_2.c2 < '!' AND
|
||||
join_3.c2 > '?' AND
|
||||
join_4.c2 = '?' AND
|
||||
join_5.c2 <> '?' AND
|
||||
join_6.c2 <> '?' AND
|
||||
join_7.c2 >= '?' AND
|
||||
join_0.c1=join_1.c1 AND
|
||||
join_1.c1=join_2.c1 AND
|
||||
join_2.c1=join_3.c1 AND
|
||||
join_3.c1=join_4.c1 AND
|
||||
join_4.c1=join_5.c1 AND
|
||||
join_5.c1=join_6.c1 AND
|
||||
join_6.c1=join_7.c1
|
||||
GROUP BY
|
||||
join_3.c1,
|
||||
join_2.c1,
|
||||
join_7.c1,
|
||||
join_1.c1,
|
||||
join_0.c1;
|
||||
|
||||
SHOW WARNINGS;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user