Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug#33464/my51-bug#33464
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build
This commit is contained in:
commit
fe7c9b6f0a
@ -91,43 +91,4 @@ create table mysql_test.`#sql-347f_7` (f1 int);
|
|||||||
create table mysql_test.`#sql-347f_8` (f1 int);
|
create table mysql_test.`#sql-347f_8` (f1 int);
|
||||||
drop table mysql_test.`#sql-347f_8`;
|
drop table mysql_test.`#sql-347f_8`;
|
||||||
drop database mysql_test;
|
drop database mysql_test;
|
||||||
CREATE DATABASE dbbug33464;
|
|
||||||
CREATE USER 'userbug33464'@'localhost';
|
|
||||||
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
|
|
||||||
|
|
||||||
userbug33464@localhost dbbug33464
|
|
||||||
DROP PROCEDURE IF EXISTS sp3;
|
|
||||||
DROP FUNCTION IF EXISTS fn1;
|
|
||||||
CREATE PROCEDURE sp3(v1 char(20))
|
|
||||||
BEGIN
|
|
||||||
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
|
|
||||||
END//
|
|
||||||
CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
|
|
||||||
BEGIN
|
|
||||||
return 1;
|
|
||||||
END//
|
|
||||||
CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
|
|
||||||
BEGIN
|
|
||||||
return 2;
|
|
||||||
END//
|
|
||||||
USE dbbug33464;
|
|
||||||
|
|
||||||
root@localhost dbbug33464
|
|
||||||
SELECT fn1();
|
|
||||||
fn1()
|
|
||||||
1
|
|
||||||
SELECT fn2();
|
|
||||||
fn2()
|
|
||||||
2
|
|
||||||
DROP USER 'userbug33464'@'localhost';
|
|
||||||
DROP FUNCTION fn1;
|
|
||||||
Warnings:
|
|
||||||
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn1'
|
|
||||||
DROP FUNCTION fn2;
|
|
||||||
Warnings:
|
|
||||||
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn2'
|
|
||||||
DROP PROCEDURE sp3;
|
|
||||||
DROP USER 'userbug33464'@'localhost';
|
|
||||||
use test;
|
|
||||||
DROP DATABASE dbbug33464;
|
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -1306,4 +1306,43 @@ DROP DATABASE mysqltest1;
|
|||||||
RENAME TABLE mysql.procs_gone TO mysql.procs_priv;
|
RENAME TABLE mysql.procs_gone TO mysql.procs_priv;
|
||||||
DROP USER mysqltest_1@localhost;
|
DROP USER mysqltest_1@localhost;
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
|
CREATE DATABASE dbbug33464;
|
||||||
|
CREATE USER 'userbug33464'@'localhost';
|
||||||
|
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
|
||||||
|
|
||||||
|
userbug33464@localhost dbbug33464
|
||||||
|
DROP PROCEDURE IF EXISTS sp3;
|
||||||
|
DROP FUNCTION IF EXISTS fn1;
|
||||||
|
CREATE PROCEDURE sp3(v1 char(20))
|
||||||
|
BEGIN
|
||||||
|
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
|
||||||
|
END//
|
||||||
|
CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
|
||||||
|
BEGIN
|
||||||
|
return 1;
|
||||||
|
END//
|
||||||
|
CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
|
||||||
|
BEGIN
|
||||||
|
return 2;
|
||||||
|
END//
|
||||||
|
USE dbbug33464;
|
||||||
|
|
||||||
|
root@localhost dbbug33464
|
||||||
|
SELECT fn1();
|
||||||
|
fn1()
|
||||||
|
1
|
||||||
|
SELECT fn2();
|
||||||
|
fn2()
|
||||||
|
2
|
||||||
|
DROP USER 'userbug33464'@'localhost';
|
||||||
|
DROP FUNCTION fn1;
|
||||||
|
Warnings:
|
||||||
|
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn1'
|
||||||
|
DROP FUNCTION fn2;
|
||||||
|
Warnings:
|
||||||
|
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn2'
|
||||||
|
DROP PROCEDURE sp3;
|
||||||
|
DROP USER 'userbug33464'@'localhost';
|
||||||
|
use test;
|
||||||
|
DROP DATABASE dbbug33464;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -134,66 +134,4 @@ drop table mysql_test.`#sql-347f_8`;
|
|||||||
copy_file $MYSQLTEST_VARDIR/master-data/mysql_test/t1.frm $MYSQLTEST_VARDIR/master-data/mysql_test/#sql-347f_6.frm;
|
copy_file $MYSQLTEST_VARDIR/master-data/mysql_test/t1.frm $MYSQLTEST_VARDIR/master-data/mysql_test/#sql-347f_6.frm;
|
||||||
drop database mysql_test;
|
drop database mysql_test;
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Bug#33464: DROP FUNCTION caused a crash.
|
|
||||||
#
|
|
||||||
CREATE DATABASE dbbug33464;
|
|
||||||
CREATE USER 'userbug33464'@'localhost';
|
|
||||||
|
|
||||||
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
|
|
||||||
|
|
||||||
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
|
||||||
connect (connbug33464, localhost, userbug33464, , dbbug33464);
|
|
||||||
--source suite/funcs_1/include/show_connection.inc
|
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
DROP PROCEDURE IF EXISTS sp3;
|
|
||||||
DROP FUNCTION IF EXISTS fn1;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
delimiter //;
|
|
||||||
CREATE PROCEDURE sp3(v1 char(20))
|
|
||||||
BEGIN
|
|
||||||
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
|
|
||||||
END//
|
|
||||||
delimiter ;//
|
|
||||||
|
|
||||||
delimiter //;
|
|
||||||
CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
|
|
||||||
BEGIN
|
|
||||||
return 1;
|
|
||||||
END//
|
|
||||||
delimiter ;//
|
|
||||||
|
|
||||||
delimiter //;
|
|
||||||
CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
|
|
||||||
BEGIN
|
|
||||||
return 2;
|
|
||||||
END//
|
|
||||||
delimiter ;//
|
|
||||||
|
|
||||||
disconnect connbug33464;
|
|
||||||
|
|
||||||
# cleanup
|
|
||||||
connection default;
|
|
||||||
USE dbbug33464;
|
|
||||||
--source suite/funcs_1/include/show_connection.inc
|
|
||||||
|
|
||||||
SELECT fn1();
|
|
||||||
SELECT fn2();
|
|
||||||
|
|
||||||
--error 0, ER_CANNOT_USER
|
|
||||||
DROP USER 'userbug33464'@'localhost';
|
|
||||||
|
|
||||||
DROP FUNCTION fn1;
|
|
||||||
DROP FUNCTION fn2;
|
|
||||||
DROP PROCEDURE sp3;
|
|
||||||
|
|
||||||
--error 0, ER_CANNOT_USER
|
|
||||||
DROP USER 'userbug33464'@'localhost';
|
|
||||||
|
|
||||||
use test;
|
|
||||||
DROP DATABASE dbbug33464;
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -1400,4 +1400,66 @@ DROP USER mysqltest_1@localhost;
|
|||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#33464: DROP FUNCTION caused a crash.
|
||||||
|
#
|
||||||
|
CREATE DATABASE dbbug33464;
|
||||||
|
CREATE USER 'userbug33464'@'localhost';
|
||||||
|
|
||||||
|
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
|
||||||
|
|
||||||
|
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||||
|
connect (connbug33464, localhost, userbug33464, , dbbug33464);
|
||||||
|
--source suite/funcs_1/include/show_connection.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP PROCEDURE IF EXISTS sp3;
|
||||||
|
DROP FUNCTION IF EXISTS fn1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
delimiter //;
|
||||||
|
CREATE PROCEDURE sp3(v1 char(20))
|
||||||
|
BEGIN
|
||||||
|
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
|
||||||
|
END//
|
||||||
|
delimiter ;//
|
||||||
|
|
||||||
|
delimiter //;
|
||||||
|
CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
|
||||||
|
BEGIN
|
||||||
|
return 1;
|
||||||
|
END//
|
||||||
|
delimiter ;//
|
||||||
|
|
||||||
|
delimiter //;
|
||||||
|
CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
|
||||||
|
BEGIN
|
||||||
|
return 2;
|
||||||
|
END//
|
||||||
|
delimiter ;//
|
||||||
|
|
||||||
|
disconnect connbug33464;
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
connection default;
|
||||||
|
USE dbbug33464;
|
||||||
|
--source suite/funcs_1/include/show_connection.inc
|
||||||
|
|
||||||
|
SELECT fn1();
|
||||||
|
SELECT fn2();
|
||||||
|
|
||||||
|
--error 0, ER_CANNOT_USER
|
||||||
|
DROP USER 'userbug33464'@'localhost';
|
||||||
|
|
||||||
|
DROP FUNCTION fn1;
|
||||||
|
DROP FUNCTION fn2;
|
||||||
|
DROP PROCEDURE sp3;
|
||||||
|
|
||||||
|
--error 0, ER_CANNOT_USER
|
||||||
|
DROP USER 'userbug33464'@'localhost';
|
||||||
|
|
||||||
|
use test;
|
||||||
|
DROP DATABASE dbbug33464;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
Loading…
x
Reference in New Issue
Block a user