1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Updates to allow innodb.test to be run with --embedded-server,

including a small change to build_table_filename().


mysql-test/mysql-test-run.pl:
  Remove unused bad merge bitrot code.  This chunk of code is a repeat
  copy of an earlier chunk, and should never have been here.
mysql-test/r/innodb.result:
  Updates to allow innodb.test to be run with --embedded-server
mysql-test/suite/binlog/r/binlog_innodb.result:
  Updates to allow innodb.test to be run with --embedded-server
mysql-test/suite/binlog/t/binlog_innodb.test:
  Updates to allow innodb.test to be run with --embedded-server
mysql-test/t/innodb.test:
  Updates to allow innodb.test to be run with --embedded-server
sql/sql_table.cc:
  build_table_filename(): Don't add FN_ROOTDIR to mysql_data_home if
  it's already there.  This is done to make it easier to write tests
  which check the output of various error messages, and work with
  both the embedded server (mysql_data_home is full path, including
  trailing FN_ROOTDIR) and normal server (mysql_data_home is just ".").
This commit is contained in:
unknown
2007-08-14 15:35:19 -06:00
parent 5dc6ba8255
commit 3925c3feee
6 changed files with 100 additions and 112 deletions

View File

@ -135,4 +135,37 @@ show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
drop table t1;
CREATE TABLE `t1` (
`a` int(11) NOT NULL auto_increment,
`b` int(11) default NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `t2` (
`a` int(11) NOT NULL auto_increment,
`b` int(11) default NULL,
PRIMARY KEY (`a`)
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
insert into t1 values (1,1),(2,2);
insert into t2 values (1,1),(4,4);
reset master;
UPDATE t2,t1 SET t2.a=t1.a+2;
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
select * from t2 /* must be (3,1), (4,4) */;
a b
1 1
4 4
show master status /* there must no UPDATE in binlog */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
insert into t2 values (1,2),(3,4),(4,4);
reset master;
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
show master status /* there must be no UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
drop table t1, t2;
End of tests

View File

@ -130,4 +130,43 @@ show status like "binlog_cache_use";
show status like "binlog_cache_disk_use";
drop table t1;
#
# Bug#27716 multi-update did partially and has not binlogged
#
CREATE TABLE `t1` (
`a` int(11) NOT NULL auto_increment,
`b` int(11) default NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `t2` (
`a` int(11) NOT NULL auto_increment,
`b` int(11) default NULL,
PRIMARY KEY (`a`)
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
# A. testing multi_update::send_eof() execution branch
insert into t1 values (1,1),(2,2);
insert into t2 values (1,1),(4,4);
reset master;
--error ER_DUP_ENTRY
UPDATE t2,t1 SET t2.a=t1.a+2;
# check
select * from t2 /* must be (3,1), (4,4) */;
show master status /* there must no UPDATE in binlog */;
# B. testing multi_update::send_error() execution branch
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
insert into t2 values (1,2),(3,4),(4,4);
reset master;
--error ER_DUP_ENTRY
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
show master status /* there must be no UPDATE query event */;
# cleanup bug#27716
drop table t1, t2;
--echo End of tests