summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/t/alter_table.test19
-rw-r--r--sql/sql_parse.cc2
2 files changed, 20 insertions, 1 deletions
diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test
index cfb4f958372..ec057c156c8 100644
--- a/mysql-test/t/alter_table.test
+++ b/mysql-test/t/alter_table.test
@@ -3,6 +3,8 @@
#
drop table if exists t1;
+drop database if exists mysqltest;
+
create table t1 (
col1 int not null auto_increment primary key,
col2 varchar(30) not null,
@@ -99,3 +101,20 @@ select * from t1;
select * from mysqltest.t1;
drop table t1;
drop database mysqltest;
+
+#
+# Rights for renaming test (Bug #3270)
+#
+connect (root,localhost,root,,test,0,mysql-master.sock);
+connection root;
+--disable_warnings
+create database mysqltest;
+--enable_warnings
+create table mysqltest.t1 (a int,b int,c int);
+grant all on mysqltest.t1 to mysqltest_1@localhost;
+connect (user1,localhost,mysqltest_1,,mysqltest,0,mysql-master.sock);
+connection user1;
+-- error 1142
+alter table t1 rename t2;
+connection root;
+drop database mysqltest;
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 3f6fa8d24ad..e3d19de6374 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1446,7 +1446,7 @@ mysql_execute_command(void)
tmp_table.real_name=lex->name;
tmp_table.db=lex->db;
tmp_table.grant.privilege=priv;
- if (check_grant(thd,INSERT_ACL | CREATE_ACL,tables))
+ if (check_grant(thd,INSERT_ACL | CREATE_ACL, &tmp_table))
goto error;
}
}