1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Cleaned up last bug fixes

Fix bug in SHOW GRANTS when there is a column privilege but no table privilege
This commit is contained in:
monty@mashka.mysql.fi
2003-09-09 20:06:50 +03:00
parent 434cea193d
commit 99490870e6
8 changed files with 206 additions and 201 deletions

View File

@@ -1,83 +1,86 @@
# Check that binlog is ok when a transaction mixes updates to InnoDB and
# MyISAM. It would be nice to make this a replication test, but in 4.0 the slave
# is always with --skip-innodb in the testsuite. I (Guilhem) however did some
# tests manually on a slave; tables are replicated fine and Exec_master_log_pos
# advances as expected.
# MyISAM.
# It would be nice to make this a replication test, but in 4.0 the
# slave is always with --skip-innodb in the testsuite. I (Guilhem) however
# did some tests manually on a slave; tables are replicated fine and
# Exec_master_log_pos advances as expected.
-- source include/have_innodb.inc
--disable_warnings
drop table if exists t1, t2;
--enable_warnings
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
connection con1;
drop table if exists ti, tm;
create table ti (a int) type=innodb;
create table tm (a int) type=myisam;
create table t1 (a int) type=innodb;
create table t2 (a int) type=myisam;
reset master;
begin;
insert into ti values(1);
insert into tm select * from ti;
insert into t1 values(1);
insert into t2 select * from t1;
commit;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(2);
insert into tm select * from ti;
# should say some changes to non-transactional tables couldn't be rolled back
insert into t1 values(2);
insert into t2 select * from t1;
# should say some changes to non-transact1onal tables couldn't be rolled back
--error 1196
rollback;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(3);
insert into t1 values(3);
savepoint my_savepoint;
insert into ti values(4);
insert into tm select * from ti;
insert into t1 values(4);
insert into t2 select * from t1;
--error 1196
rollback to savepoint my_savepoint;
commit;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(5);
insert into t1 values(5);
savepoint my_savepoint;
insert into ti values(6);
insert into tm select * from ti;
insert into t1 values(6);
insert into t2 select * from t1;
--error 1196
rollback to savepoint my_savepoint;
insert into ti values(7);
insert into t1 values(7);
commit;
select a from ti order by a; # check that savepoints work :)
select a from t1 order by a; # check that savepoints work :)
show binlog events from 79;
# and when ROLLBACK is not explicit?
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
select get_lock("a",10);
begin;
insert into ti values(8);
insert into tm select * from ti;
insert into t1 values(8);
insert into t2 select * from t1;
disconnect con1;
connection con2;
@@ -89,87 +92,87 @@ connection con2;
select get_lock("a",10);
show binlog events from 79;
# and when not in a transaction?
delete from ti;
delete from tm;
# and when not in a transact1on?
delete from t1;
delete from t2;
reset master;
insert into ti values(9);
insert into tm select * from ti;
insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from 79;
# Check that when the query updating the MyISAM table is the first in the
# transaction, we log it immediately.
delete from ti;
delete from tm;
# Check that when the query updat1ng the MyISAM table is the first in the
# transact1on, we log it immediately.
delete from t1;
delete from t2;
reset master;
insert into ti values(10); # first make ti non-empty
insert into t1 values(10); # first make t1 non-empty
begin;
insert into tm select * from ti;
insert into t2 select * from t1;
show binlog events from 79;
insert into ti values(11);
insert into t1 values(11);
commit;
show binlog events from 79;
# Check that things work like before this BEGIN/ROLLBACK code was added, when tm
# is INNODB
# Check that things work like before this BEGIN/ROLLBACK code was added,
# when t2 is INNODB
alter table tm type=INNODB;
alter table t2 type=INNODB;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(12);
insert into tm select * from ti;
insert into t1 values(12);
insert into t2 select * from t1;
commit;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(13);
insert into tm select * from ti;
insert into t1 values(13);
insert into t2 select * from t1;
rollback;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(14);
insert into t1 values(14);
savepoint my_savepoint;
insert into ti values(15);
insert into tm select * from ti;
insert into t1 values(15);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
commit;
show binlog events from 79;
delete from ti;
delete from tm;
delete from t1;
delete from t2;
reset master;
begin;
insert into ti values(16);
insert into t1 values(16);
savepoint my_savepoint;
insert into ti values(17);
insert into tm select * from ti;
insert into t1 values(17);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
insert into ti values(18);
insert into t1 values(18);
commit;
select a from ti order by a; # check that savepoints work :)
select a from t1 order by a; # check that savepoints work :)
show binlog events from 79;
drop table ti,tm;
drop table t1,t2;