mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
This commit is contained in:
@ -369,4 +369,42 @@ mod(5, cast(-2 as unsigned)) mod(5, 18446744073709551614) mod(5, -2)
|
||||
select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5);
|
||||
pow(cast(-2 as unsigned), 5) pow(18446744073709551614, 5) pow(-2, 5)
|
||||
2.1359870359209e+96 2.1359870359209e+96 -32
|
||||
CREATE TABLE t1 (a timestamp, b varchar(20), c bit(1));
|
||||
INSERT INTO t1 VALUES('1998-09-23', 'str1', 1), ('2003-03-25', 'str2', 0);
|
||||
SELECT a DIV 900 y FROM t1 GROUP BY y;
|
||||
y
|
||||
22201025555
|
||||
22255916666
|
||||
SELECT DISTINCT a DIV 900 y FROM t1;
|
||||
y
|
||||
22201025555
|
||||
22255916666
|
||||
SELECT b DIV 900 y FROM t1 GROUP BY y;
|
||||
y
|
||||
0
|
||||
SELECT c DIV 900 y FROM t1 GROUP BY y;
|
||||
y
|
||||
0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a LONGBLOB);
|
||||
INSERT INTO t1 VALUES('1'),('2'),('3');
|
||||
SELECT DISTINCT (a DIV 254576881) FROM t1;
|
||||
(a DIV 254576881)
|
||||
0
|
||||
SELECT (a DIV 254576881) FROM t1 UNION ALL
|
||||
SELECT (a DIV 254576881) FROM t1;
|
||||
(a DIV 254576881)
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a SET('a','b','c'));
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
SELECT a DIV 2 FROM t1 UNION SELECT a DIV 2 FROM t1;
|
||||
a DIV 2
|
||||
0
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -190,6 +190,22 @@ ERROR 21000: Operand should contain 1 column(s)
|
||||
drop table table_26093;
|
||||
drop function func_26093_a;
|
||||
drop function func_26093_b;
|
||||
SELECT NAME_CONST('test', NOW());
|
||||
ERROR HY000: Incorrect arguments to NAME_CONST
|
||||
SELECT NAME_CONST('test', UPPER('test'));
|
||||
ERROR HY000: Incorrect arguments to NAME_CONST
|
||||
SELECT NAME_CONST('test', NULL);
|
||||
test
|
||||
NULL
|
||||
SELECT NAME_CONST('test', 1);
|
||||
test
|
||||
1
|
||||
SELECT NAME_CONST('test', 1.0);
|
||||
test
|
||||
1.0
|
||||
SELECT NAME_CONST('test', 'test');
|
||||
test
|
||||
test
|
||||
End of 5.0 tests
|
||||
select connection_id() > 0;
|
||||
connection_id() > 0
|
||||
|
@ -516,7 +516,7 @@ drop database mysqldump_test_db;
|
||||
# --default-character-set=xxx. However, we should dump in UTF8
|
||||
# if it is explicitely set.
|
||||
CREATE TABLE t1 (a CHAR(10));
|
||||
INSERT INTO t1 VALUES (_latin1 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
INSERT INTO t1 VALUES (_latin1 'ÄÖÜß');
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
@ -574,7 +574,7 @@ SET character_set_client = @saved_cs_client;
|
||||
|
||||
LOCK TABLES `t1` WRITE;
|
||||
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
|
||||
INSERT INTO `t1` VALUES ('<EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
INSERT INTO `t1` VALUES ('á');
|
||||
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
@ -600,7 +600,7 @@ SET character_set_client = @saved_cs_client;
|
||||
|
||||
LOCK TABLES `t1` WRITE;
|
||||
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
|
||||
INSERT INTO `t1` VALUES ('<EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
INSERT INTO `t1` VALUES ('á');
|
||||
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
@ -1739,11 +1739,11 @@ create table t1 (a text character set utf8, b text character set latin1);
|
||||
insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E);
|
||||
select * from t1;
|
||||
a b
|
||||
Osnabr<EFBFBD>ck K<EFBFBD>ln
|
||||
Osnabrück Köln
|
||||
test.t1: Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
|
||||
select * from t1;
|
||||
a b
|
||||
Osnabr<EFBFBD>ck K<EFBFBD>ln
|
||||
Osnabrück Köln
|
||||
drop table t1;
|
||||
#
|
||||
# BUG#15328 Segmentation fault occured if my.cnf is invalid for escape sequence
|
||||
@ -3848,6 +3848,145 @@ UNLOCK TABLES;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
DROP TABLE t1;
|
||||
`a` int(11) default NULL
|
||||
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t2`,`t3`);
|
||||
SET character_set_client = @saved_cs_client;
|
||||
DROP TABLE IF EXISTS `t2`;
|
||||
SET @saved_cs_client = @@character_set_client;
|
||||
SET character_set_client = utf8;
|
||||
CREATE TABLE `t2` (
|
||||
`a` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
SET character_set_client = @saved_cs_client;
|
||||
|
||||
LOCK TABLES `t2` WRITE;
|
||||
/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE IF EXISTS `t3`;
|
||||
SET @saved_cs_client = @@character_set_client;
|
||||
SET character_set_client = utf8;
|
||||
CREATE TABLE `t3` (
|
||||
`a` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
SET character_set_client = @saved_cs_client;
|
||||
|
||||
LOCK TABLES `t3` WRITE;
|
||||
/*!40000 ALTER TABLE `t3` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `t3` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# Bug #23491: MySQLDump prefix function call in a view by database name
|
||||
#
|
||||
create database bug23491_original;
|
||||
create database bug23491_restore;
|
||||
use bug23491_original;
|
||||
create table t1 (c1 int);
|
||||
create view v1 as select * from t1;
|
||||
create procedure p1() select 1;
|
||||
create function f1() returns int return 1;
|
||||
create view v2 as select f1();
|
||||
create function f2() returns int return f1();
|
||||
create view v3 as select bug23491_original.f1();
|
||||
use bug23491_restore;
|
||||
show create view bug23491_restore.v2;
|
||||
View Create View
|
||||
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `f1`() AS `f1()`
|
||||
show create view bug23491_restore.v3;
|
||||
View Create View
|
||||
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `bug23491_original`.`f1`() AS `bug23491_original.f1()`
|
||||
drop database bug23491_original;
|
||||
drop database bug23491_restore;
|
||||
use test;
|
||||
#
|
||||
# Bug 27293: mysqldump crashes when dumping routines
|
||||
# defined by a different user
|
||||
#
|
||||
# Bug #22761: mysqldump reports no errors when using
|
||||
# --routines without mysql.proc privileges
|
||||
#
|
||||
create database mysqldump_test_db;
|
||||
grant all privileges on mysqldump_test_db.* to user1;
|
||||
grant all privileges on mysqldump_test_db.* to user2;
|
||||
create procedure mysqldump_test_db.sp1() select 'hello';
|
||||
|
||||
/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;
|
||||
DELIMITER ;;
|
||||
|
||||
-- insufficient privileges to SHOW CREATE PROCEDURE `sp1`
|
||||
-- does user2 have permissions on mysql.proc?
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;
|
||||
DELIMITER ;;
|
||||
/*!50003 SET SESSION SQL_MODE=""*/;;
|
||||
/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`()
|
||||
select 'hello' */;;
|
||||
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
||||
DELIMITER ;
|
||||
drop procedure sp1;
|
||||
drop user user1;
|
||||
drop user user2;
|
||||
drop database mysqldump_test_db;
|
||||
#
|
||||
# Bug #28522: buffer overrun by '\0' byte using --hex-blob.
|
||||
#
|
||||
CREATE TABLE t1 (c1 INT, c2 LONGBLOB);
|
||||
INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
|
||||
SET @saved_cs_client = @@character_set_client;
|
||||
SET character_set_client = utf8;
|
||||
CREATE TABLE `t1` (
|
||||
`c1` int(11) default NULL,
|
||||
`c2` longblob
|
||||
);
|
||||
SET character_set_client = @saved_cs_client;
|
||||
INSERT INTO `t1` VALUES (11,0x7171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171);
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #28524: mysqldump --skip-add-drop-table is not
|
||||
# compatible with views
|
||||
#
|
||||
CREATE VIEW v1 AS SELECT 1;
|
||||
DROP VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
1
|
||||
1
|
||||
DROP VIEW v1;
|
||||
#
|
||||
# Bug #29788: mysqldump discards the NO_AUTO_VALUE_ON_ZERO value of
|
||||
# the SQL_MODE variable after the dumping of triggers.
|
||||
#
|
||||
CREATE TABLE t1 (c1 INT);
|
||||
CREATE TRIGGER t1bd BEFORE DELETE ON t1 FOR EACH ROW BEGIN END;
|
||||
CREATE TABLE t2 (c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
SET @TMP_SQL_MODE = @@SQL_MODE;
|
||||
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
|
||||
INSERT INTO t2 VALUES (0), (1), (2);
|
||||
SET SQL_MODE = @TMP_SQL_MODE;
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
0
|
||||
1
|
||||
2
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
0
|
||||
1
|
||||
2
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
create table t1 (a text , b text);
|
||||
create table t2 (a text , b text);
|
||||
insert t1 values ("Duck, Duck", "goose");
|
||||
@ -4153,8 +4292,8 @@ DROP DATABASE IF EXISTS mysqldump_test_db;
|
||||
# Create objects.
|
||||
CREATE DATABASE mysqldump_test_db;
|
||||
set names koi8r;
|
||||
CREATE VIEW mysqldump_test_db.v2 AS SELECT 1 AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
|
||||
CREATE VIEW mysqldump_test_db.v1 AS SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 FROM mysqldump_test_db.v2;
|
||||
CREATE VIEW mysqldump_test_db.v2 AS SELECT 1 AS ËÏÌÏÎËÁ1;
|
||||
CREATE VIEW mysqldump_test_db.v1 AS SELECT ËÏÌÏÎËÁ1 FROM mysqldump_test_db.v2;
|
||||
set names latin1;
|
||||
|
||||
# Dump mysqldump_test_db to bug30027.sql.
|
||||
|
@ -715,3 +715,14 @@ a SUM(a)
|
||||
4 4
|
||||
NULL 14
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#31095: Unexpected NULL constant caused server crash.
|
||||
#
|
||||
create table t1(a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select count(a) from t1 group by null with rollup;
|
||||
count(a)
|
||||
3
|
||||
3
|
||||
drop table t1;
|
||||
##############################################################
|
||||
|
@ -778,15 +778,60 @@ GRANT CREATE VIEW ON db26813.v2 TO u26813@localhost;
|
||||
GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost;
|
||||
GRANT SELECT ON db26813.t1 TO u26813@localhost;
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1'
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2'
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
ALTER VIEW v3 AS SELECT f2 FROM t1;
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
SHOW CREATE VIEW v3;
|
||||
View Create View character_set_client collation_connection
|
||||
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1` latin1 latin1_swedish_ci
|
||||
DROP USER u26813@localhost;
|
||||
DROP DATABASE db26813;
|
||||
#
|
||||
# Bug#29908: A user can gain additional access through the ALTER VIEW.
|
||||
#
|
||||
CREATE DATABASE mysqltest_29908;
|
||||
USE mysqltest_29908;
|
||||
CREATE TABLE t1(f1 INT, f2 INT);
|
||||
CREATE USER u29908_1@localhost;
|
||||
CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1;
|
||||
CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS
|
||||
SELECT f1 FROM t1;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost;
|
||||
GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost;
|
||||
CREATE USER u29908_2@localhost;
|
||||
GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost;
|
||||
GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost;
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
SHOW CREATE VIEW v2;
|
||||
View Create View
|
||||
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1`
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
SHOW CREATE VIEW v2;
|
||||
View Create View
|
||||
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1`
|
||||
ALTER VIEW v1 AS SELECT f1 FROM t1;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
ALTER VIEW v2 AS SELECT f1 FROM t1;
|
||||
SHOW CREATE VIEW v2;
|
||||
View Create View
|
||||
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
DROP USER u29908_1@localhost;
|
||||
DROP USER u29908_2@localhost;
|
||||
DROP DATABASE mysqltest_29908;
|
||||
#######################################################################
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
CREATE DATABASE mysqltest1;
|
||||
|
@ -224,4 +224,29 @@ select mod(cast(-2 as unsigned), 3), mod(18446744073709551614, 3), mod(-2, 3);
|
||||
select mod(5, cast(-2 as unsigned)), mod(5, 18446744073709551614), mod(5, -2);
|
||||
select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5);
|
||||
|
||||
#
|
||||
# Bug #30587: mysql crashes when trying to group by TIME div NUMBER
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a timestamp, b varchar(20), c bit(1));
|
||||
INSERT INTO t1 VALUES('1998-09-23', 'str1', 1), ('2003-03-25', 'str2', 0);
|
||||
SELECT a DIV 900 y FROM t1 GROUP BY y;
|
||||
SELECT DISTINCT a DIV 900 y FROM t1;
|
||||
SELECT b DIV 900 y FROM t1 GROUP BY y;
|
||||
SELECT c DIV 900 y FROM t1 GROUP BY y;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(a LONGBLOB);
|
||||
INSERT INTO t1 VALUES('1'),('2'),('3');
|
||||
SELECT DISTINCT (a DIV 254576881) FROM t1;
|
||||
SELECT (a DIV 254576881) FROM t1 UNION ALL
|
||||
SELECT (a DIV 254576881) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(a SET('a','b','c'));
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
SELECT a DIV 2 FROM t1 UNION SELECT a DIV 2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -198,6 +198,19 @@ drop table table_26093;
|
||||
drop function func_26093_a;
|
||||
drop function func_26093_b;
|
||||
|
||||
#
|
||||
# Bug #30832: Assertion + crash with select name_const('test',now());
|
||||
#
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SELECT NAME_CONST('test', NOW());
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SELECT NAME_CONST('test', UPPER('test'));
|
||||
|
||||
SELECT NAME_CONST('test', NULL);
|
||||
SELECT NAME_CONST('test', 1);
|
||||
SELECT NAME_CONST('test', 1.0);
|
||||
SELECT NAME_CONST('test', 'test');
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -1576,6 +1576,23 @@ SELECT * FROM t2;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#29815: new option for suppressing last line of mysqldump:
|
||||
--echo # "Dump completed on"
|
||||
--echo #
|
||||
|
||||
--echo # --skip-dump-date:
|
||||
--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*//
|
||||
--exec $MYSQL_DUMP --skip-dump-date test
|
||||
|
||||
--echo # --dump-date:
|
||||
--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
|
||||
--exec $MYSQL_DUMP --dump-date test
|
||||
|
||||
--echo # --dump-date (default):
|
||||
--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
|
||||
--exec $MYSQL_DUMP test
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.0 tests
|
||||
--echo #
|
||||
|
@ -358,3 +358,12 @@ SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) as t;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#31095: Unexpected NULL constant caused server crash.
|
||||
--echo #
|
||||
create table t1(a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select count(a) from t1 group by null with rollup;
|
||||
drop table t1;
|
||||
--echo ##############################################################
|
||||
|
||||
|
@ -1040,10 +1040,11 @@ GRANT SELECT ON db26813.t1 TO u26813@localhost;
|
||||
|
||||
connect (u1,localhost,u26813,,db26813);
|
||||
connection u1;
|
||||
--error 1142
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
--error 1142
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
ALTER VIEW v3 AS SELECT f2 FROM t1;
|
||||
|
||||
connection root;
|
||||
@ -1053,6 +1054,51 @@ DROP USER u26813@localhost;
|
||||
DROP DATABASE db26813;
|
||||
disconnect u1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#29908: A user can gain additional access through the ALTER VIEW.
|
||||
--echo #
|
||||
connection root;
|
||||
CREATE DATABASE mysqltest_29908;
|
||||
USE mysqltest_29908;
|
||||
CREATE TABLE t1(f1 INT, f2 INT);
|
||||
CREATE USER u29908_1@localhost;
|
||||
CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1;
|
||||
CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS
|
||||
SELECT f1 FROM t1;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost;
|
||||
GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost;
|
||||
CREATE USER u29908_2@localhost;
|
||||
GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost;
|
||||
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost;
|
||||
GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost;
|
||||
|
||||
connect (u2,localhost,u29908_2,,mysqltest_29908);
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
SHOW CREATE VIEW v2;
|
||||
|
||||
connect (u1,localhost,u29908_1,,mysqltest_29908);
|
||||
ALTER VIEW v1 AS SELECT f2 FROM t1;
|
||||
SHOW CREATE VIEW v1;
|
||||
ALTER VIEW v2 AS SELECT f2 FROM t1;
|
||||
SHOW CREATE VIEW v2;
|
||||
|
||||
connection root;
|
||||
ALTER VIEW v1 AS SELECT f1 FROM t1;
|
||||
SHOW CREATE VIEW v1;
|
||||
ALTER VIEW v2 AS SELECT f1 FROM t1;
|
||||
SHOW CREATE VIEW v2;
|
||||
|
||||
DROP USER u29908_1@localhost;
|
||||
DROP USER u29908_2@localhost;
|
||||
DROP DATABASE mysqltest_29908;
|
||||
disconnect u1;
|
||||
disconnect u2;
|
||||
--echo #######################################################################
|
||||
|
||||
#
|
||||
# BUG#24040: Create View don't succed with "all privileges" on a database.
|
||||
#
|
||||
|
Reference in New Issue
Block a user